|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: k0 E: P" w5 |# H我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下/ H4 G7 Y5 H# `; `+ k6 x2 r1 B
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
9 N' m/ o2 N1 o/ Z, W5 x# f
2 P Q0 p# k( u是不是需要在DSP.CFG中进行配置
# ?: o! _5 F" D! E+ O6 t0 k- \8 U. d2 C我现在的配置为
1 G9 P- [# L( d5 ^. k/ Z/ ~" ^
0 `# c+ ?0 N" C- o! y! n" f! `) n/*4 @* C: {# }9 |6 @2 |9 A
* ======== Operating System Configuration ========
" C& A! x& `0 u" L */' w4 l% H: T" p. E, J7 I( k5 O, A% c
2 \. ~1 B3 \; u0 N$ m
/* no rts heap */1 g# n1 i3 M; p& V& `# M
Program.heap = 0;
2 g+ Y: l# e. ?( ]Program.argSize = 100; /* minimum size */
2 m0 l+ y$ s' b2 ^2 AProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 u5 M( I% T c/ Q o
# r" ^; [. Z1 m0 c/* create a default heap *// C6 S, |3 o0 o( t. f
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
. \$ O0 o5 l9 h2 qvar heapMemParams = new HeapMem.Params();
( e( H2 c8 h: I4 l; [! o6 dheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) b- N& G" @6 r$ I- m0 s: k
6 W: R/ j7 J4 P. w* X0 g+ {
var Memory = xdc.useModule('xdc.runtime.Memory');
" k" H2 y, ~( w& H1 w4 T) zMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
, i; R9 s+ l" k: j; g4 M4 r9 x2 m7 _/ v! c# p6 ]! j/ V
/* configure System module */8 b4 b. z, R$ |. k" I, u+ y; a! y
var SysMin = xdc.useModule('xdc.runtime.SysMin');
! q) Y; J, W \8 O. X5 d6 g$ `SysMin.bufSize = 0x1000;
$ I& x& t a, X E$ ~( @8 U5 ? `' u' ySysMin.flushAtExit = false;) M- T& V/ m% u* R2 q4 ?; H) x7 Z
3 x" ~( }" f# a! }& q. b
var System = xdc.useModule('xdc.runtime.System');6 a. k1 l/ _! A" A7 [
System.SupportProxy = SysMin;* m/ t6 T7 W$ z; T
7 L7 `% T/ D$ M, p1 x( k" ~9 m/* configure SysBios to use the lower half of Timer 1 */) I( s1 V9 l% Z
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, n5 D% d3 N% p5 a. Y j A
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
8 @& c( i4 R6 P) ITimer.timerSettings[1].master = true;
& s/ G$ @1 j& R" `4 u$ BTimer.defaultHalf = Timer.Half_LOWER;" M1 n& u9 M0 q7 J( C F% o x: F9 o
Clock.timerId = 1;
0 b9 {+ o z7 m( \9 N: z9 X U/ S! `
# C0 a! z/ a. B; v' U4 ]4 B$ z; g/ Z! t p. ]0 q
/*' c# C) W% L9 K1 Y1 c7 n
* ======== Miscellaneous Configuration ========
1 Y: s7 p* U: G% W */
+ ~% {% z6 ^5 x1 m9 A
* L% S. I% i+ X) u/* set default diags mask */$ z) F7 \8 S" q/ I5 {6 u; l# |) c
var Diags = xdc.useModule('xdc.runtime.Diags');- R4 Y% L! |3 x6 T. h# h" D# }) l
var Defaults = xdc.useModule('xdc.runtime.Defaults');5 N, B( o# ]* U( H
, V: n H7 e! r& T+ `" i
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
/ \9 {6 i& w% TDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
; J; T- q4 U! z! |: _" ^7 `. CDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* t/ R* W( \. R3 t9 A+ ]Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */: N8 L, }* u% V" P2 q
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
+ U) s; W" {6 {Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
+ [/ r, b/ o n4 K5 @% [Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
& L/ C X9 G' [2 t5 T) A6 d& ~1 CDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;( g4 \% ?- U, C) F M' |3 l
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
/ k. c9 k% p, i, y% S2 QDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( P# L% L5 t" x9 X
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 t# e# { z# \, Y( a& a1 IDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 `, O: P$ c( Z' V3 W
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
! v1 V4 ?. u' \) g+ \/ a/ ]8 LDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 F9 \ j7 r4 @0 \- }0 K) [
5 M" O7 a' j& T8 D7 A; i! L! M
/* override diags mask for selected modules */0 X+ x7 i! P7 N# N. i9 r. ` p" i
xdc.useModule('xdc.runtime.Main');
+ T3 k* i7 p8 _1 vDiags.setMaskMeta(
8 Y# G; b9 s" {% ~* ^ "xdc.runtime.Main",9 L& |# r' a4 y
Diags.ENTRY | Diags.EXIT | Diags.INFO,# h9 D$ I: |% P7 t2 O4 N/ m7 m5 ]
Diags.RUNTIME_ON) R- r" U h( }0 H
);
: E W3 p* M0 V$ j' ~1 b, c- O) ?8 v$ s+ L# K4 h4 P
var Registry = xdc.useModule('xdc.runtime.Registry');( b y! A# s! A9 H1 w& p
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
9 R: a' P4 K+ g. H+ {Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;# Y+ j, f* ]4 n* I0 _2 @9 p
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
: F1 {: d" X" |4 h8 N- sRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;* M O- N$ _0 I7 x x P
9 e' d$ L8 w9 P5 A% p- S! N/* create a logger instance */
% Q$ n- Z& f0 H% K3 h* X0 xvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ y X4 r; D+ g6 C! `
var loggerBufP = new LoggerBuf.Params();
1 I0 z! m$ F! w8 c2 ~4 A/ WloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
& z) e1 Y1 U4 D" }5 x1 wloggerBufP.bufType = LoggerBuf.BufType_FIXED;3 m& V9 P5 Y( Q0 z
) I6 ~) U- P. f; m9 P% e" }6 Lvar appLogger = LoggerBuf.create(loggerBufP);
5 M$ |- o% M- F. vappLogger.instance.name = "AppLog_Core1";0 g4 q( ]7 [/ j7 K
Defaults.common$.logger = appLogger;
- J" J0 D! I6 q4 [, NMemory.defaultHeapSize = 0x8192;
: d6 G1 j. v: b& ?7 _+ E/ m; I+ CIdle.idleFxns[0] = "&LEDStatus";! S( V: o# Y/ f8 v
Cache.initSize.l2Size = Cache.L2Size_32K;% J6 A- }% A4 B D3 I
; L) V5 c j$ o1 h! N; C* J
|
|