|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明9 }* m, f- d; P
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
" Y' S0 ^9 A2 k I+ P(不过疑惑的是,为何单独DSP仿真就没有问题呢?); A+ S" H( B4 t* S/ a% W# ~; ^
& L9 R! f" ]( R3 X) Z2 C/ V1 g是不是需要在DSP.CFG中进行配置' r5 y, N( z6 }
我现在的配置为8 c7 C4 n/ X& M& k9 q
, C" c' w% g: r% R) o* ^/*5 W4 m2 ~* G4 `8 G6 c. z0 {
* ======== Operating System Configuration ========
6 e5 P3 v) |7 m4 q */
* T/ P( m/ b# Z6 c3 t9 w' C# y0 H9 b
/* no rts heap */6 s! G9 Z _( L& L+ ^; u' |( o
Program.heap = 0;
& |' g5 B: L. X1 u8 g0 G* HProgram.argSize = 100; /* minimum size */+ c. i' i# }6 i
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ @8 w- c+ m" F
. S7 K: C$ l# }+ g& ]- k/* create a default heap */- t" i+ c* b( y7 p5 j# ~0 {' n! V4 D4 a
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
3 j3 B& I. s1 t K! Ovar heapMemParams = new HeapMem.Params();
! P' N' h F% h0 f! P) ]heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大6 x! V: i/ M+ J- v
: a; ]9 D) {, b& q% d/ S/ F2 ^var Memory = xdc.useModule('xdc.runtime.Memory');
( r6 Y; X: q1 Q4 ZMemory.defaultHeapInstance = HeapMem.create(heapMemParams);' Z1 E3 _' G; Z/ s+ l3 ^, ]
- a+ A# W3 z! Y5 D' \8 ?4 b/* configure System module */2 a( G) V- G: r; _ r, S' s+ `$ e
var SysMin = xdc.useModule('xdc.runtime.SysMin');
2 s6 p1 ~, v+ GSysMin.bufSize = 0x1000;
& G7 g3 m( K8 q9 P DSysMin.flushAtExit = false;
$ z% E( }/ {( g4 A* u$ ~% g0 y
( z2 `# n3 w) n' {* I! Cvar System = xdc.useModule('xdc.runtime.System');9 Y9 B6 K# O" S. f4 x7 q
System.SupportProxy = SysMin;' f7 [/ D* M' r" ^
$ k. q" B f, j( _1 K* m! W
/* configure SysBios to use the lower half of Timer 1 */4 F0 R3 f( G: ~1 a
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');# q+ A) n3 c N% ^- Y
var Clock = xdc.useModule('ti.sysbios.knl.Clock');1 c, d0 ^) i! V
Timer.timerSettings[1].master = true;
8 W5 I; w$ e( N5 s3 d+ o1 hTimer.defaultHalf = Timer.Half_LOWER;! e/ ?, O6 g6 e/ ?/ }- }& e3 p
Clock.timerId = 1;
( r* ^$ X9 V5 D9 c/ a& X, A/ |4 ~, v* X" y1 t; ]
O) I$ _1 X( \5 W# S, O6 h/*
' O% t: L& U ^7 C; J * ======== Miscellaneous Configuration ========
; L4 w/ J* k' `* a */& e8 B- j+ M7 E1 G
5 }$ S2 L" b, W$ o
/* set default diags mask */
- {8 L3 B* M; V8 `% k$ Gvar Diags = xdc.useModule('xdc.runtime.Diags');
( V( h# q. h0 S) b( Evar Defaults = xdc.useModule('xdc.runtime.Defaults');1 _4 ?- y& `( D9 `- T/ E, l. x; ?: }: c
' _2 w: ~& v$ o* W$ F- f& WDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ L. _7 a+ @: p, |4 V7 [
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;( W' n- H8 M; a# U0 Q5 _& n B
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
% p/ U' D; p) cDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */, ~6 P O7 w; g+ C' ~
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */' S3 B6 Y" o; z4 o6 s3 H
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
2 ?0 n, z8 h4 v) {* oDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) P: G6 f3 P4 s( h6 @: q
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- W* q- d! ]+ \: W/ l( g7 `
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 n8 R+ Z/ t7 JDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;1 }2 y$ p6 R- k1 y) j) Z% v
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;6 {7 r4 A1 }" b
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
' h8 { ?% B6 fDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;% O3 [. R' W0 s
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;3 P" h3 M/ w1 S& ?
! m( C. Y d. j& |8 J. O
/* override diags mask for selected modules */1 C3 Z8 x F, Z2 G6 G3 T
xdc.useModule('xdc.runtime.Main');/ Y: B8 F& j6 u+ J' N' |
Diags.setMaskMeta( M8 s+ W2 G6 U3 W2 H' `
"xdc.runtime.Main",0 `8 x Z! p& m" T5 b
Diags.ENTRY | Diags.EXIT | Diags.INFO,5 _2 I5 u* B3 e+ S8 E; G n0 o
Diags.RUNTIME_ON
4 j; W6 N8 o6 T2 E; b. n. ]/ p" `);
7 K8 y3 f! o7 z9 ^1 T' g
' v( ]7 d1 J3 W2 Tvar Registry = xdc.useModule('xdc.runtime.Registry');/ ^, I8 E- p& X; J- x J4 l3 ]
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;) w% m, \/ E, f
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;! U# |# [# T7 R- M {2 m$ i
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;. `8 D* ?* ?, J4 _* `
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
5 p. q6 g* Z8 `1 T+ A; `+ E3 p4 L2 u1 D: T3 O, a9 u
/* create a logger instance */# s4 u% B9 n8 I
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ s H: ?" v4 `6 \2 A; T2 h3 V8 Cvar loggerBufP = new LoggerBuf.Params();
8 U! P: ?, j4 X6 ~; _0 {. IloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
( |9 q/ t' h3 D/ p5 c* ]. jloggerBufP.bufType = LoggerBuf.BufType_FIXED;
6 k. _! Z3 L P' V0 G, i0 B5 s; Z: {$ Z4 O5 h: w. @
var appLogger = LoggerBuf.create(loggerBufP);
5 n: M; h7 _7 o% p/ S2 z$ S( l, FappLogger.instance.name = "AppLog_Core1";! W7 V% C/ l! s7 u0 {
Defaults.common$.logger = appLogger;' g! c# r$ d) N1 F2 n
Memory.defaultHeapSize = 0x8192; & w; a) [$ t8 x+ Q# B
Idle.idleFxns[0] = "&LEDStatus";& X/ S3 ~+ f) a/ @, e
Cache.initSize.l2Size = Cache.L2Size_32K;7 [# b; e' \1 n# } h8 y" o
, ?# g* c$ Y e' f0 n6 T. y |
|