|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明$ v% ~, z7 q& j, N7 h- N1 L' w
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下% A, M5 j. w2 J, d" m
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
# E% q1 v3 l( I! @* L6 \* s0 p! k+ I' f& a1 }
是不是需要在DSP.CFG中进行配置
+ \$ z4 T( |( A% u我现在的配置为4 I. k. ]' m7 x' G" D6 i7 f" r
, Q0 k0 B: w; x' V2 R3 o/*6 e r+ L m ]
* ======== Operating System Configuration ========
; R+ C) _+ L1 k! e0 U, G, w */
" p Q( a2 w) Z) B% D$ h' p+ @" K. v- @, k5 g& T
/* no rts heap */5 E7 g2 _# s/ E4 K, Q3 y* @
Program.heap = 0;
& E. d+ z" N; Y6 @Program.argSize = 100; /* minimum size */
$ L# r; G! j/ I: jProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大' M$ d6 h8 c& a! R% _
- t- i# W; ?! E8 n3 G$ G
/* create a default heap */
. J% P6 s$ @# w: R: ~var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& b% M6 c# f/ i4 o3 n# N
var heapMemParams = new HeapMem.Params();
. c4 _+ o8 g, O5 o4 {) GheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ n' ^/ X! F0 z4 V& \- {% o
5 ^) r% [* u. ?+ J+ Z$ Wvar Memory = xdc.useModule('xdc.runtime.Memory');% r$ g3 \6 D/ Y5 G
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
; W" m. S9 V+ G9 ^ a5 |. M& c. ]. j
/* configure System module */9 u# Z, p; m X5 l3 }
var SysMin = xdc.useModule('xdc.runtime.SysMin');- w, U3 c) S3 L C/ Z7 R
SysMin.bufSize = 0x1000;: J: H. h/ F( |: o. ?+ ~
SysMin.flushAtExit = false;7 f* W) o! `6 z4 F- [' ?" G
) i+ \. h- X0 h
var System = xdc.useModule('xdc.runtime.System');
# m) R1 V: j) u2 @! K+ gSystem.SupportProxy = SysMin;
, Q% Z/ } G3 Q% r9 m; Q0 N- Y/ ]
, Y: I) u2 ^; Q( O+ q$ y0 M/* configure SysBios to use the lower half of Timer 1 */$ J. p3 R7 k q% ]5 @
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
; o( @3 t/ P4 |var Clock = xdc.useModule('ti.sysbios.knl.Clock');3 G$ i2 p4 u9 V, r
Timer.timerSettings[1].master = true;. G: C# d% X- J: Q
Timer.defaultHalf = Timer.Half_LOWER;
) M' L/ Y+ `" FClock.timerId = 1;
/ [" `; A0 V: M/ A1 G* C. ?' R- l* n8 F9 X& B
* l: g2 G+ H4 _, D/*" K7 _3 ]! o0 T# r
* ======== Miscellaneous Configuration ========
/ E2 D/ J3 J7 T! L- t1 x2 B: s */ @/ \% K1 A1 M
8 @7 ?/ n# `* m4 ~, Q
/* set default diags mask */3 x) \: |, `( J. ~/ Q! c
var Diags = xdc.useModule('xdc.runtime.Diags');
8 M- g' M+ x; R4 j7 E+ Nvar Defaults = xdc.useModule('xdc.runtime.Defaults');
1 J: W" r7 |$ V% N+ F: D5 I$ e' p3 U8 U
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
# e. o8 A0 ?" g, d2 X0 e, j; p6 ]Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
" y( L1 X& f. [$ Z3 W$ D+ ADefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
2 @- t+ M. K9 e: d0 n. wDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 K) Z' q. k- l+ q* e
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; K8 K8 V: E- M$ C- W# f2 UDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;" O9 [, ~/ e- k& V6 }: c
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
?& H& F0 k8 t3 SDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
U6 \2 N2 V( S4 @7 WDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
" m5 o6 C; f8 P0 H# g* }$ pDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 {, T5 O5 N, U( w" LDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;+ r# l9 \& L& {
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
2 t, h! c/ t5 `& {8 p: f3 p. h3 TDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
. M" k7 b5 o) T% s# F# G4 gDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;+ y, S9 A; \9 B; j2 _8 _
9 p8 i4 }8 Z, p7 X8 Z/* override diags mask for selected modules */! T; E- i6 |/ e, y/ d5 F4 O
xdc.useModule('xdc.runtime.Main');8 X: ?* W# ~7 s
Diags.setMaskMeta(
; M1 O! t& d+ \" W "xdc.runtime.Main",* R# D9 J8 h4 v) w3 a* ?
Diags.ENTRY | Diags.EXIT | Diags.INFO,
3 w. b+ ^- {0 f( Y$ B, \" x Diags.RUNTIME_ON
4 Q# ]8 `! [% T, A);+ H6 u# E: b% _$ |& h- _* R: O
6 K. f A) j$ @- D" pvar Registry = xdc.useModule('xdc.runtime.Registry');
+ b; c- e+ V! G6 YRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
$ o j: F8 J5 \4 b8 u; hRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 ^4 ^( z1 j5 v+ ?. L& A" u6 } GRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
$ g' o* b4 J( m8 Y4 IRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;& w& W! T. E0 _2 s
* D8 i- j+ S) L# S' R: t
/* create a logger instance */
& X+ V% a2 A, Q1 |8 U6 O, w* Wvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
5 G1 ^8 Z; L( L! C. O$ U7 mvar loggerBufP = new LoggerBuf.Params();
4 m# D; z5 @+ M4 cloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; F/ [2 i. s# \- h" w VloggerBufP.bufType = LoggerBuf.BufType_FIXED;! ?1 w6 Y& X% Y- a0 f. t4 W
# W) v6 k- U! } xvar appLogger = LoggerBuf.create(loggerBufP);- T" b% w% C0 G% X
appLogger.instance.name = "AppLog_Core1";
2 E5 R7 M) z- a& L) HDefaults.common$.logger = appLogger;
) } ]4 S/ z3 x& _( S: M5 iMemory.defaultHeapSize = 0x8192; / y" c ?3 w% E' y' f3 h
Idle.idleFxns[0] = "&LEDStatus";6 m; k( x( J }+ f* L5 |
Cache.initSize.l2Size = Cache.L2Size_32K;
5 I! [2 L! Y, I( f/ k
$ K9 a# g8 V0 A B |
|