|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
+ C! v: j* w( {* D9 ?3 a; c我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
, ^4 r2 \5 [ n6 y& S3 w" t(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- m1 O: E& G6 L* S3 D7 F+ f
. I" U2 U2 o# Y& w& \是不是需要在DSP.CFG中进行配置' ?& Q7 M1 q/ Z! P& Z5 D
我现在的配置为
+ r1 M- n7 b+ e) O* p. m" u4 `( y- Z5 G. Z2 e k9 C- y; C
/*
% g4 p! d6 Q2 } ~1 ], b * ======== Operating System Configuration ========
( d* f* ?- A/ A5 M" o$ o *// q/ x6 }: g) _& {
2 L( d5 c" t4 l: \( N
/* no rts heap */
( W6 r$ w3 I' oProgram.heap = 0;
i, g8 g) I" Q' @- B ?; |; t# QProgram.argSize = 100; /* minimum size */
9 L" n% w* G" R" a9 P1 A$ @% Q5 W8 P, JProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大. Z" u. t5 n, ^0 J5 z7 B) c+ ~# m$ D
& b8 ]: a/ p4 C/* create a default heap */
9 H q* q- Y! P- F" }& N5 M4 Zvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');1 [7 x. r0 d, ~# d. R6 s5 F' ]
var heapMemParams = new HeapMem.Params();5 T1 x/ I7 j' `
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& [, R" T+ \/ ?7 \4 {$ X. @
- v, e$ i2 U2 Z5 H- p0 P7 xvar Memory = xdc.useModule('xdc.runtime.Memory');) V% x! X! h4 y6 K$ F
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
: v% }/ {( {* F" ^, f; u# i' ~ H
* o0 E5 \4 w" A5 f0 v/* configure System module */
; X* I6 g; o6 e( gvar SysMin = xdc.useModule('xdc.runtime.SysMin');; C( L) f, v. h1 f6 O3 v- k. O
SysMin.bufSize = 0x1000;1 n* U# D; I+ T) x4 N, I
SysMin.flushAtExit = false;
' J* Q. ?2 F2 o+ p: Q- s( X9 h6 ^- V
var System = xdc.useModule('xdc.runtime.System');
7 ^. \4 f0 a1 h0 zSystem.SupportProxy = SysMin;
# I, i2 ?. S3 V1 W
+ S& L: \% l5 s) e0 V9 @3 S% G/* configure SysBios to use the lower half of Timer 1 */; k! |; H& f: ]8 A0 _
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( c! E- _# g$ b' r1 o
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
# s" y# Q0 @4 e$ K6 ?: XTimer.timerSettings[1].master = true;
8 w5 H+ K4 f; x; \9 r# k" Y5 {( KTimer.defaultHalf = Timer.Half_LOWER;
( y+ Q- r: i \' eClock.timerId = 1;
2 Z" m- }- p6 {0 Y- u" D
# M. C6 |5 _* ?* e3 E* \& c1 b5 Z3 ~3 y# b8 \
/* x, E& P- U4 h2 D$ {1 l! u4 C
* ======== Miscellaneous Configuration ========0 n! p ]$ Q/ ?/ x
*/: T# U. B+ B/ [/ l( G
; q9 J, X: g, g! a9 J4 V0 \
/* set default diags mask */
, z1 T# e& Y J% y! q& ?var Diags = xdc.useModule('xdc.runtime.Diags');: k6 i' ?. m& [, {' Z
var Defaults = xdc.useModule('xdc.runtime.Defaults');
( V5 ]3 A" E* w; S, G Q) ~) ^) t7 G- b: B
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: V3 B7 Y1 g# t- _; ^
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
% }/ H, S. t& d5 O7 ]; s; V8 ZDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
# x' H* b5 H. }Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */; D2 z; y9 S' e1 g _& h7 G
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: Y2 Z4 E& N% i5 g
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
, k1 F W8 a7 a* @6 R( I+ F$ aDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;8 a+ |+ K1 R+ _3 |
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;2 y$ h; u: `, r* K
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
M" v, J: E2 b2 i. Q3 sDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' O c6 q% I$ f0 {! Z7 UDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;0 z8 `4 _7 V7 f, z7 x+ i N
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
# k) \& f2 O+ D: h& }: M+ mDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;9 D' p& `% o1 x
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 Z& j$ A- a' a0 H. v/ K9 g0 N
) u6 d' q: O2 q/ b. A ~, e/* override diags mask for selected modules */9 }4 l0 H+ O7 Z4 C
xdc.useModule('xdc.runtime.Main');
( I8 A5 I" W8 H+ o3 ADiags.setMaskMeta(
) |1 Y, t, o' E, g% D% B "xdc.runtime.Main",3 `# W* e1 G& M# K+ K. v
Diags.ENTRY | Diags.EXIT | Diags.INFO,4 B; D% ]5 Y8 U6 c( Y
Diags.RUNTIME_ON- J( e2 r) Q. W8 W) a7 h- p0 P
);
+ `6 o& \: c5 v
4 d ]" V& M, J4 ovar Registry = xdc.useModule('xdc.runtime.Registry');: A2 x5 D" r3 N7 K" P+ q
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. u" m- x# i" @; B& a% k6 m/ K. n4 ]Registry.common$.diags_EXIT = Diags.RUNTIME_OFF; |7 G. P1 K5 L
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
5 p' i; q# K& \1 `" S/ BRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;+ R: W# p5 u/ [: i
. j. ^/ _2 e2 T& X/ Z# z7 y c- b
/* create a logger instance */
1 I0 k4 d# L7 Pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
5 A5 @- e3 O9 kvar loggerBufP = new LoggerBuf.Params();
' |- ^+ s) R( O4 G) I' b L: F( z7 FloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
3 l3 d6 H; _# K! wloggerBufP.bufType = LoggerBuf.BufType_FIXED;
! u' c3 \, N2 B" ?) v
0 a H" s' R" V0 kvar appLogger = LoggerBuf.create(loggerBufP);
6 N( g( N8 p3 ^9 V/ @7 o/ h3 @: I+ l' p5 JappLogger.instance.name = "AppLog_Core1";, H9 ]9 ~' D7 I: ?) D" v- v v
Defaults.common$.logger = appLogger;2 ?1 D% }; S; z( X+ z
Memory.defaultHeapSize = 0x8192;
u% C, n% r% E' H+ @Idle.idleFxns[0] = "&LEDStatus";: `5 C( S, s# ?& f) {2 J
Cache.initSize.l2Size = Cache.L2Size_32K;
( z/ G& C$ G1 F2 m8 B1 I4 w7 ~: \3 }) ]6 m7 p
|
|