|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 T) q9 ~3 K% b7 J( R: t2 z2 G' C
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
6 E) M! Q6 P# E+ b* M0 d(不过疑惑的是,为何单独DSP仿真就没有问题呢?): n8 z7 _9 X7 ^, p! F
, E$ P5 l' B/ s8 |7 b是不是需要在DSP.CFG中进行配置
3 V) w$ p! ^0 s# C9 E我现在的配置为
) V; j1 E' o. j8 A) M4 R. u0 `# N2 G" r& z' }# F |5 j+ [
/*% b- T) B& H6 H
* ======== Operating System Configuration ========
4 r3 T2 O% P. U */
* |! a D: H: x: B2 ?( Q0 D }! C+ y. Z2 k: Q% D" K, M% g9 j
/* no rts heap */
; [2 M5 }, i/ ]- ]" \. E4 rProgram.heap = 0;
$ `% s; i. w) ~. mProgram.argSize = 100; /* minimum size */
% Y' Z* [$ H1 P/ l) y* \Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大" x$ |. b @" L0 d, K) D1 Z0 X
- z, k; F+ G% ^- a- a p# g" N4 h
/* create a default heap */
" a" z$ {5 h/ V$ \4 ]var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');, J5 C; D, C. W, a
var heapMemParams = new HeapMem.Params();
2 H* F$ N3 e: l" EheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
, P3 j2 Q) U8 Q. F. `# k* z5 |! p( T: j$ U' F4 k! R* j4 g- h3 x
var Memory = xdc.useModule('xdc.runtime.Memory');
6 K' |. V$ `, s! e; jMemory.defaultHeapInstance = HeapMem.create(heapMemParams);& W8 a0 d+ @ A9 u# u T; P
/ t. _- N) E' C/* configure System module */
" g! r3 X7 p" c) Zvar SysMin = xdc.useModule('xdc.runtime.SysMin');4 ~* t5 j- j8 \, G& o
SysMin.bufSize = 0x1000;% N6 p" V& I! [6 r# _- E, S
SysMin.flushAtExit = false;# C' L& X, X$ h
3 W+ z' M- H, x5 m9 q
var System = xdc.useModule('xdc.runtime.System');! B& s- @3 F& n( f ]
System.SupportProxy = SysMin;
0 ?- J5 B" e: u5 [+ k2 f* o1 Z/ K3 l# S: ~. W) Q
/* configure SysBios to use the lower half of Timer 1 */
3 W; \5 Q9 g7 p5 h6 g0 A5 w) ~$ ]var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');# `4 d' U7 E) s: L7 B% t
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
, a8 c8 U" f: d$ B: D, }1 \& C& k& x( ^Timer.timerSettings[1].master = true;
& X. _/ l( l0 P& Q5 @Timer.defaultHalf = Timer.Half_LOWER;
, U* T; Z D% ~* X1 L( ?& GClock.timerId = 1;! D3 H$ [- u7 _, o0 D& Y
/ N1 ~/ s5 |9 ~4 {, B* b
5 C& X6 |- Z( c, W6 V* s/*; o. _9 {6 I" ?& _$ V" }
* ======== Miscellaneous Configuration ========
5 B g0 h4 M+ i/ r4 d4 c' u */
, s2 L/ Q1 w- R0 s7 o5 _
4 t- H* X$ g+ V8 i/* set default diags mask */
8 K& O! a) ~+ J5 H" m3 X) D& }& cvar Diags = xdc.useModule('xdc.runtime.Diags');
) P7 I0 ] b4 D* m6 M% |0 tvar Defaults = xdc.useModule('xdc.runtime.Defaults');
9 h# C/ E7 X1 \$ j3 l, y8 ]6 Q+ A1 S5 {3 w
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;1 L8 k3 b" G3 b& c* T1 }! M8 T
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;! M6 d& l( ~6 [! h" [
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
+ u4 Y* `* N( u% g. C3 [2 W) oDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
& P; E5 Y' R4 n: kDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
( _; u* E+ r" h5 tDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
5 I& {4 q- D+ K+ M2 XDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
! q3 d8 d' s3 S5 G) ~Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;5 E& X1 W4 b3 Y6 k [# S( l$ K3 S
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
/ D4 g, S% Z) ^0 w: `3 _; _ c3 v1 QDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' \# O" q9 q* z7 \Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;7 G s7 p* P; t: z8 O o8 e' ?9 X( j
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
' v* F* b5 {8 g+ c+ dDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
* G+ H% R9 ~7 d5 \, EDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;; R4 {, D; f5 t N5 n
7 z Z- q7 O% G1 ? O% T; |/* override diags mask for selected modules */5 X; C$ `! B+ y% [/ S) C
xdc.useModule('xdc.runtime.Main');
) _& n. Y" f) O7 SDiags.setMaskMeta(
) d/ v+ h0 x7 \3 j6 _ "xdc.runtime.Main",
; s: }! d. w5 ^. m) { Diags.ENTRY | Diags.EXIT | Diags.INFO,
# |# [: O! v: A1 Z B4 S6 O! q9 _ Diags.RUNTIME_ON
6 d) o! {$ V8 F) J: n: F);
- s. e z. a, n- B4 j- G7 {) p. k5 r6 I
var Registry = xdc.useModule('xdc.runtime.Registry');
; {/ I- j9 |, L% _2 S0 ZRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. @$ u0 l" r! z$ A8 p/ aRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
4 Q. D! R$ T# N1 gRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;1 ?6 [3 C& M |0 `9 u
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
1 z2 ~8 }9 V# G
( R# S! {8 q5 R' H3 j/* create a logger instance */
8 T/ Y* c. {9 \& dvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 B; V4 o9 B" A) {var loggerBufP = new LoggerBuf.Params();& u, C. `2 G! C/ {8 _
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */% z5 ?8 N' j- l" M
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
% s7 s* `0 s4 ]2 p5 ]. v* I! @, i( H' ]" u
var appLogger = LoggerBuf.create(loggerBufP);
* ~' x: A! }' n# N: H2 IappLogger.instance.name = "AppLog_Core1";
1 R- ~4 R8 r$ c ~+ Y. [Defaults.common$.logger = appLogger;5 H! }9 }% S2 w: R; g
Memory.defaultHeapSize = 0x8192; 6 S0 Y! p! D9 E% O* a3 i0 ^
Idle.idleFxns[0] = "&LEDStatus";, e9 [8 ?3 |) D% `$ u
Cache.initSize.l2Size = Cache.L2Size_32K;
9 c7 d0 k, i+ E m5 S# X6 p5 k1 U4 M7 c7 X( t
|
|