|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
. T6 b, E0 M3 ^4 j我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
" ^ {1 t$ D3 t: G2 Y(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
1 n0 T$ K: Y b7 [7 w
2 M8 r$ Z* l. `* ?0 p是不是需要在DSP.CFG中进行配置2 c7 X( J" m; ^% V+ o, T
我现在的配置为) E t4 M0 b$ _0 q
7 T: r) Y; m/ G9 ]7 Y3 j( G5 Y& v4 i
/*
' T* ~/ O1 r' d4 V4 O; R8 A2 P8 ` * ======== Operating System Configuration ========
, O1 V6 E! v c- G7 ?5 @ */
- Q8 [! I+ _$ I. k$ y) z- X* z7 j" R# y4 g) {* a; F0 z
/* no rts heap */5 t( X2 v. h* f8 a m9 \
Program.heap = 0;5 X' D, U, Q. E
Program.argSize = 100; /* minimum size */
& W: ?4 a: i, h' s) i* s& _4 T7 }7 pProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
0 l- i1 {0 {# [0 A( I* g# L( x
2 H0 z* Y: g2 y4 n1 k1 l! h" M/* create a default heap */5 k- i# S5 l$ Q/ I% B5 L' R8 `
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# M7 w& P1 ^- g/ g
var heapMemParams = new HeapMem.Params();4 ]& A, P! b2 q" q, Y, P' P1 `
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
/ |5 R5 t M5 Y; q1 ^5 [, \5 x
9 T" Z$ e* N0 |( f2 Avar Memory = xdc.useModule('xdc.runtime.Memory');6 ~7 i, d# J& `5 h: I; K
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
. Y) t, r9 ^, o8 f& V3 P) i8 E# h2 g3 E$ |. i+ m2 n
/* configure System module */# Q: i+ N4 I! ^2 L# ]- p2 a: J
var SysMin = xdc.useModule('xdc.runtime.SysMin');
2 x3 H$ h6 }; o- p, A: B5 E7 ?: FSysMin.bufSize = 0x1000;
! H3 u5 P( j7 b. Z. U7 ?0 [, vSysMin.flushAtExit = false;
6 I* z* E$ L- X. X% l; B# u; w& m3 [7 L
var System = xdc.useModule('xdc.runtime.System');& `3 j' ~( E7 Q( }2 L4 e
System.SupportProxy = SysMin;
" L3 {; u, [% I0 Q; _) Y% i3 ]; ^' S5 z; X
/* configure SysBios to use the lower half of Timer 1 */+ U4 Q8 \0 @. b2 A& u
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');6 }, Z! C$ {5 `2 n( y' H
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
! Q: v, b8 w( Y" kTimer.timerSettings[1].master = true;8 j/ w$ J# a, v
Timer.defaultHalf = Timer.Half_LOWER;
; A$ ?) a8 s7 ~& w, W4 YClock.timerId = 1;: e) ]" @/ o. {, f3 W( |/ l) X
9 S7 U% Z/ O, p2 Z6 P
; J) V3 G9 n. y/ g/*. |. [% E' u; _, f1 Y2 u( a
* ======== Miscellaneous Configuration ========$ a! e! L0 I3 V1 |7 I" X& x
*// W; I2 h' E9 J, I
) A- o- ^% u; u0 A
/* set default diags mask */9 C6 h2 y7 J- O r! G
var Diags = xdc.useModule('xdc.runtime.Diags');
/ R3 K9 b' i6 `4 Q* L# ?+ u4 }. Bvar Defaults = xdc.useModule('xdc.runtime.Defaults');' `3 C% B7 @, e: R/ f
: ~; t9 c! N0 x7 j/ Q9 c
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
8 L0 @4 r8 D1 c P( ?7 M2 F! V4 K1 K$ iDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
) T2 } g* `$ }( G; f( ?) w* yDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. S6 A6 g) U+ dDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */+ H- p$ d* I% u
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! l1 d" F O( VDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ M+ b* T- R. I7 m7 N* w! RDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
4 ^3 }. |# @+ I; _: r; u: kDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;. J+ b' p% i, P
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
. d4 C2 B( D4 f* FDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
; w. n; x+ C' W2 G: eDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* t/ _, k7 h' H" WDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 \7 q& J I* L$ R S: s$ W: V6 E eDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
5 ^* G' m }1 v7 ] \5 aDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
* n1 c9 ?4 ~! C# _5 J0 c4 [9 [* b
6 b- C1 |6 y l7 V7 d8 \! ?( u' [2 {/* override diags mask for selected modules */
; {5 s7 B `; N7 b9 m$ uxdc.useModule('xdc.runtime.Main');
) x* a! }2 D! _ O: K+ Q2 cDiags.setMaskMeta(4 v7 B2 L6 |% K( x' D Z5 j4 \$ Y
"xdc.runtime.Main",
+ {+ A7 K ~$ W; s Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 G! K1 P2 v! S9 `5 P Diags.RUNTIME_ON
0 y3 g! r8 K) N);+ {& X$ O/ r* Q1 `0 L
9 W5 @; d+ | _0 J
var Registry = xdc.useModule('xdc.runtime.Registry');5 C0 I! L; L# X. `$ {( W6 M
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
) N3 {% w$ w/ l2 m9 [7 xRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;' t% ]; Y/ G+ J, t
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;* R' ?" k9 J& V7 H, a
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 r9 R4 T8 Q+ u* M2 G& t
3 k4 F$ O6 j$ D2 I1 A/* create a logger instance */
, m; w& m% G! l& yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
2 |8 v! \. O8 {" ]7 Q, I9 x) Gvar loggerBufP = new LoggerBuf.Params();
0 v" D1 }/ L [loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
0 K& l" |/ z3 Y L, G) K& `2 y o& AloggerBufP.bufType = LoggerBuf.BufType_FIXED;
- M6 s% ]$ B0 @/ ?# ~2 _! k6 a+ l- I4 N, m3 c$ c
var appLogger = LoggerBuf.create(loggerBufP);
, [: f& P, |& _appLogger.instance.name = "AppLog_Core1";
' u4 [+ l. l5 F$ i( _Defaults.common$.logger = appLogger;& Q7 J, _* C- d9 C
Memory.defaultHeapSize = 0x8192;
! \5 V3 s3 G9 z; E. [" _0 ^3 XIdle.idleFxns[0] = "&LEDStatus";% q0 w, i/ T# _9 d2 p8 ?; f. e+ O
Cache.initSize.l2Size = Cache.L2Size_32K;
4 j- Z/ `' ~$ L q0 \
% N- v! s2 I0 B0 m9 [# X |
|