|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明# T* S; O7 G4 Q; [
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 [3 t$ X, z2 x% P(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
5 `1 a% f3 z' c! L; I- e+ _- Q+ ?3 j! q" d; L5 x) I; @; i
是不是需要在DSP.CFG中进行配置% I+ z. b2 t" Q) ^: s
我现在的配置为
- q8 ^2 T" n: a. q' R; H* f, S3 ^% |) b) Z
/*
3 `" I% P; [" R- e * ======== Operating System Configuration ========3 W# N; Y7 q X z: [! X
*/
$ H+ J/ e( s: F+ }4 {' M- c! n5 Q) N, B+ i2 o' x$ p, Y+ @" v7 c6 X
/* no rts heap */
" o: k7 D1 ?: }9 E# TProgram.heap = 0;/ s4 ]' ^4 X* h9 a& B# M
Program.argSize = 100; /* minimum size */( Z' `- @% r# V$ ^
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
3 H8 f5 o, l. I2 J* \
4 ?; C& e) S9 X* o/ e0 Q/* create a default heap */" Z4 p$ r- Q0 w9 X2 ~
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');: f( E% w" i1 }, R b; o( T8 T7 I
var heapMemParams = new HeapMem.Params();( H2 `% t. B' y, K1 }' S
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大% p+ ^) M/ T7 c' L( I' H( w
8 P7 L. c; X8 j) }% yvar Memory = xdc.useModule('xdc.runtime.Memory');0 ~8 Q, N; `; X( _
Memory.defaultHeapInstance = HeapMem.create(heapMemParams); X4 c( ^9 I j0 m) O
7 ^# \2 m* [0 q' q. Y) z5 {0 N
/* configure System module */
4 e6 Z/ X8 ]% [5 a% c& E/ _# \var SysMin = xdc.useModule('xdc.runtime.SysMin');9 M3 i% ~, }' H- E* o
SysMin.bufSize = 0x1000;9 u/ o5 {8 V! `" _ F% m
SysMin.flushAtExit = false;
! m; E4 d, s( Q2 @/ f; T
, r4 z( J" y& U" xvar System = xdc.useModule('xdc.runtime.System');
# j6 X% }8 `2 q- }6 R6 \+ qSystem.SupportProxy = SysMin;& g/ j/ _; E7 K; [6 U2 X" U
; ?* u" N6 m4 h8 I: E) `/* configure SysBios to use the lower half of Timer 1 */2 ]" d/ P9 }8 `4 s' E% r A4 k: ?
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');/ h" z Z( J" }7 }
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
5 ?* F; R8 u3 J0 B$ y UTimer.timerSettings[1].master = true;) @7 M) V# S+ o- V/ B9 F$ D; R8 b
Timer.defaultHalf = Timer.Half_LOWER;
* s4 j6 w; r; J EClock.timerId = 1;
. A. w; h# l* n
0 z4 j% R0 Z$ x" v& g, j
# K* m8 E- K* V) s) y. i/*
5 S3 k+ u2 C8 B2 L! Q: M7 s * ======== Miscellaneous Configuration ========! z! W3 ^3 ~1 e$ z8 I# e& I4 X
*/
) K2 q0 q) K! J7 ]# D% E* m# X% Z5 k; D' p" |
/* set default diags mask */% l# @" z. y9 [1 K2 W
var Diags = xdc.useModule('xdc.runtime.Diags');. E+ T2 h7 o7 ^" w+ c
var Defaults = xdc.useModule('xdc.runtime.Defaults');4 E: V9 {6 m5 q6 k K7 y7 w% _
% j3 T; H" U/ ~: N
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;1 B* w. S* ~ J
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
) j" k/ m5 P) | O! EDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
0 m# | G2 Y% ^% ZDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! D( j* L/ ~( L# ]; ]7 } `6 sDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */3 E- Y6 l# s/ \3 ?5 s) k
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ o% I, F0 W) @5 Y+ H1 aDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 f2 o, A8 o3 [% T1 g
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;! W, @* ~9 Y3 }
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* L: Q% v* x, j+ tDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;1 _3 j* k8 }1 D; `7 l, n- C( f
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# L. x/ k' x. R
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 H" e6 @! Y% `/ n' t2 |) R9 `! D" Q& Y8 }Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
0 h$ j6 V2 r: _Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
" ?9 C* h) r+ o# v/ J
& E; s- R4 {- d/* override diags mask for selected modules */7 g7 D& y9 `# A- b$ k9 w( b
xdc.useModule('xdc.runtime.Main');
& D8 {) a8 p, H2 k1 T }& t! EDiags.setMaskMeta(
0 P$ N' G: M' J, J. t. A "xdc.runtime.Main",
: a4 k4 `* x d# S& }8 B Diags.ENTRY | Diags.EXIT | Diags.INFO,
) H8 M6 Z g& x; S7 A: c Diags.RUNTIME_ON
/ m% z8 n. C3 z) [, j);; l7 u* t- ]) Q" T" a2 o: Y4 m$ L. L, j
9 I2 I% n5 g% k; o( ~9 svar Registry = xdc.useModule('xdc.runtime.Registry');7 G% V! Y( u. K! E8 O
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;% K& r W- ]% ~ B' Z+ R5 y5 m
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
4 Q. r c; j6 B# s/ e2 JRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
$ K3 D: f# ^2 I" A$ NRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
5 Q7 N, d1 P; i. w
% S( _) J+ |7 J3 S/* create a logger instance */% y* Q ?' Y7 O4 q/ x! Q! z" t
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) P: @$ p% b2 ?9 ivar loggerBufP = new LoggerBuf.Params();
! r6 Y z4 K0 m% e" D0 JloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */9 f, h6 c- K. F* I4 Y K' z- @0 O
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
( N0 a' q s) o: x1 i) [$ h& f# M, \3 k% j; h# m! x0 U
var appLogger = LoggerBuf.create(loggerBufP);5 I2 _& T) N% `1 C3 J* n# U- D2 i
appLogger.instance.name = "AppLog_Core1";
* v O0 y9 k8 UDefaults.common$.logger = appLogger;
' W/ o% b* s, r+ {; E5 u: _Memory.defaultHeapSize = 0x8192;
) u* j3 ?: W5 D, T7 D4 ~2 ^Idle.idleFxns[0] = "&LEDStatus";: F8 w3 L9 A% B& {1 t
Cache.initSize.l2Size = Cache.L2Size_32K;
9 ]# D' k+ E; E& }) D2 |6 U' X8 T# F% l, d: L# Y( e& H
|
|