|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
8 ?7 @* W( x8 ~ n; Z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下 P. L" u' \3 }( ?$ Q
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
* O J' r& L8 Q
# ?6 |: k9 j8 y( A4 f是不是需要在DSP.CFG中进行配置9 |8 m+ F5 [) Z; r% v% I) h. J4 X
我现在的配置为, H: J, _8 G. ^$ z2 x
$ F' D0 H& a, F0 n. @
/*! b/ I- h' v. h) d1 I! W* c
* ======== Operating System Configuration ========4 h) G' I! c; k. X; `
*/
3 \2 k5 O+ Q$ x& T) S3 ?
) J2 `" U g- c% s. [3 I' L/* no rts heap */
# Z8 C7 k) s: ]4 R5 IProgram.heap = 0;
! l1 @1 Z$ D+ L! P3 X3 z- nProgram.argSize = 100; /* minimum size */
$ x% s$ R& G# t/ cProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
; j) u( b& K* u- v& {" Y$ w' T9 Y* _9 }1 m6 b9 G, F( W
/* create a default heap */0 M6 F4 \+ b) v ]# o7 r% U
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 m% r* d3 V+ ?' Z- zvar heapMemParams = new HeapMem.Params();! U2 E, {/ G% x9 ], l
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
' ]' Q% w& I+ D
; x. ~* Z2 D C& I dvar Memory = xdc.useModule('xdc.runtime.Memory');& H; W& `4 O, K* `4 _& `
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
6 t7 F, u2 q) F) E3 j U4 A8 a4 k" {
/* configure System module */6 A4 c9 c# q4 U. P( o3 G* j
var SysMin = xdc.useModule('xdc.runtime.SysMin');% f; _9 F- q! m) s9 ~( S% }
SysMin.bufSize = 0x1000;( ~7 f- T7 c: _. P" ~
SysMin.flushAtExit = false;1 {6 |' m; j. D5 R0 j4 ~3 L
0 C4 O5 ?9 @1 `. V2 q, ?var System = xdc.useModule('xdc.runtime.System');/ j) x! ]' @/ {4 k* j$ s
System.SupportProxy = SysMin;- u7 z8 D$ s2 u1 U% }+ ]
) Q! c% o5 a( {# @% r1 t/ y/* configure SysBios to use the lower half of Timer 1 */
5 a' D. O* S$ E! U2 \" Wvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');. D2 q1 _' a8 a" U
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
4 l) O2 n2 y# |Timer.timerSettings[1].master = true;
- V! `; g7 L' j# R M: a. rTimer.defaultHalf = Timer.Half_LOWER;3 }5 v- \( S0 W; w
Clock.timerId = 1;
. W. f+ r% {+ U' `0 x
8 j9 T1 v4 q1 o" Q4 y4 A9 _: K0 k" g4 T' v
/*; H3 g0 O8 P5 E) l a6 J6 m
* ======== Miscellaneous Configuration ========
6 M; r% ~0 g( _: i, d9 y0 O */
7 T) _ i H; L& x4 N2 i' Q: s, e) U2 O8 M, _" K0 u
/* set default diags mask */
. `/ o. A J" F1 W5 Avar Diags = xdc.useModule('xdc.runtime.Diags');
, t( G0 d/ \9 x; W6 n" Xvar Defaults = xdc.useModule('xdc.runtime.Defaults');; ]4 S, W6 T4 f' R1 n7 r" p
9 b5 y m' W [Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
2 X1 S" @8 X& A# D: N. \Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
8 Y- C5 W* A) Z& A& t' kDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
3 T3 i2 z: b1 R; l7 vDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
: M, Y3 t' i! [0 g! Z, m7 v& zDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */; m# {% u0 y% P5 E) h6 s( z3 W
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;0 O' c! O% ^* l* e) i
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;* Z# ?& _$ L0 W; |" y H8 `5 U6 Q
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;2 D8 J8 ~, b4 `6 F" S0 Q1 }
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! W* `7 o7 y7 }Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% c1 l0 k; n# v3 x" O
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF; i) R" r1 ^6 s. X2 Z e
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 k, a! e$ q/ D! z4 [' bDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;4 M# R3 Y9 a& j, r7 R. r# ~ i0 Q5 s
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
8 Y: o3 c+ O$ B W+ s% D: \
5 E3 O8 ?. `# z! c/* override diags mask for selected modules */
9 L9 p, R" q ~+ H' yxdc.useModule('xdc.runtime.Main');
+ M; L" u, r& o2 yDiags.setMaskMeta(& {9 m0 ~: ?& w) }: h5 m
"xdc.runtime.Main",
& I0 ]& Z6 k5 P1 A( W Diags.ENTRY | Diags.EXIT | Diags.INFO,+ ?* M- p+ m0 Y6 U2 R- ]
Diags.RUNTIME_ON$ @; c, L! ~! b" o. q, w: ^! u" m( N
);
. g+ B2 {% I& q9 E! V2 ?8 S2 ?6 m7 G
var Registry = xdc.useModule('xdc.runtime.Registry');
2 S% q- C" g1 [+ D5 f! y$ E7 qRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: [$ D3 d. j8 B1 s# X
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;! i! l% [* x+ e5 }: \
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
$ P6 E+ ?9 j( u5 |* NRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
) K; V% ^3 F1 C/ ?! E
' Q6 P4 x* a. p: t. l/ c/* create a logger instance */$ F( `2 E1 m0 k
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
6 z. m! A x, h2 Tvar loggerBufP = new LoggerBuf.Params();
$ f) `. Q4 z) R+ [7 ploggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */) L4 M1 e3 i& i" I" r3 B9 Y2 j/ `
loggerBufP.bufType = LoggerBuf.BufType_FIXED; x; d: D# l+ y( i; n
Y4 {0 v+ ~1 qvar appLogger = LoggerBuf.create(loggerBufP);7 e" u o1 R" i- n3 X$ E% ~
appLogger.instance.name = "AppLog_Core1";
; [+ ]0 t8 n$ W Y9 z VDefaults.common$.logger = appLogger;# J% G, x! B7 U' p% H i& N
Memory.defaultHeapSize = 0x8192;
, }, E) [: @' a+ V& bIdle.idleFxns[0] = "&LEDStatus";1 ]- j4 T( \& ?9 q% i: U9 y& L
Cache.initSize.l2Size = Cache.L2Size_32K;
8 |* s) B! [9 q: _8 h# A
/ M$ e3 z" _$ Q2 R! H2 K" n |
|