|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
+ A) k- T& V# ^/ M; B% f" Z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: Y2 x: P4 j. _2 J5 V(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ S4 D$ V3 Y1 c. v3 K7 `
6 n- H1 V3 D; S* n7 X5 C8 \
是不是需要在DSP.CFG中进行配置 P/ m5 V1 b2 y+ P. `- w
我现在的配置为, T: a M, O: o# G: j
+ ^; ]7 n" O+ \$ ^/*
' R$ d5 O# {8 A8 Y- ~ * ======== Operating System Configuration ========
) d8 ~0 Q9 }( G/ O */
5 J7 L. i7 y& x) T5 o) e" n5 H3 O9 r; U/ q) F
/* no rts heap */% ~% x. Q; y+ O2 J7 a7 X" v' x8 G
Program.heap = 0;
8 L9 j8 |* i; S% C! aProgram.argSize = 100; /* minimum size */% s9 ]. O7 a1 g8 B
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大. R& U, J4 F, v
8 L$ j4 D% Q/ e* V8 q
/* create a default heap */
6 a1 ]% \2 l4 c, _( ~2 yvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');% a; R0 T" C4 c# E: Y
var heapMemParams = new HeapMem.Params();
6 r8 r; I+ v9 g% s. Q* n8 eheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大: q( o0 w; x, K$ [
2 e0 I3 {; j* jvar Memory = xdc.useModule('xdc.runtime.Memory');% X' O! c! N0 c; c3 c: j" @: O
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
+ e8 ^% f/ _5 w
# O# R/ ^: h3 B& |# t' L- U/* configure System module */
" O7 W! p8 `& T ?9 ? z3 Yvar SysMin = xdc.useModule('xdc.runtime.SysMin');) R: j" ^. |, }8 d) x
SysMin.bufSize = 0x1000;
' E2 r2 m$ H6 J5 e3 W9 f9 h( [: QSysMin.flushAtExit = false;/ N' s+ X+ p2 X
1 c0 ]$ ?1 k% Y' W" w7 X" `% Ovar System = xdc.useModule('xdc.runtime.System');
& {3 M6 {$ T4 ISystem.SupportProxy = SysMin;
8 [$ p: Y6 _; R# i" r* \9 d a* u2 _: `* }0 h
/* configure SysBios to use the lower half of Timer 1 */
5 d5 }# ~: ?/ Z' K1 t( Tvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
1 E1 E/ I+ o9 P ~! ]2 yvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
% m0 A0 S9 n2 a- X' y" |) aTimer.timerSettings[1].master = true;
. a1 n& L1 c8 u$ H% O4 @; `Timer.defaultHalf = Timer.Half_LOWER;
2 _& f2 ~6 l4 h! e, M9 S0 d# Y- ~Clock.timerId = 1;% x; b/ @, k2 D
' o3 |0 v7 P4 \
y' Q& K3 N& X/ a, A/*7 L* `0 D) k t3 @+ c5 d0 G
* ======== Miscellaneous Configuration ========2 r0 R& X% r/ Q
*/1 q6 {+ X( N$ ? x" j+ A2 I7 H
1 ]1 U B! o1 J$ @
/* set default diags mask */- U+ ?% b! O( z) ~9 m
var Diags = xdc.useModule('xdc.runtime.Diags');
3 Q- K$ @4 ~8 n6 Y& Q* u3 p5 fvar Defaults = xdc.useModule('xdc.runtime.Defaults');
6 ^0 L _! i" Q
- C6 E8 [$ r" `1 @: `Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;0 q/ Y8 k6 a% t t" \/ ` p
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;7 L5 p$ L+ S2 ^/ I
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;# `* s2 y2 s, b4 B. A
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
% I% C1 ?; }$ ^: C) d [' F+ B/ y7 yDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */9 P! O# L" U3 S! o* s) H1 W
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;% t1 ^5 M" c6 {' Z4 \
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, I c# I7 c* t0 O6 ~$ ^9 r
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;+ w2 o2 }" a7 U7 v3 h& Q9 j& v
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
2 j4 M7 y2 s, S' z+ M$ F+ aDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;7 M1 S- o: w8 D9 H ` j' @5 o
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 l0 X+ R0 O9 z8 r: q- M$ G
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;& H, }3 A1 @, ^6 \
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;& R- k8 o% O" L/ |5 |
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
0 R* x H3 p- U# z- F
3 I) i7 D9 r" p3 z' l$ i/* override diags mask for selected modules */
/ I3 i e& ~2 pxdc.useModule('xdc.runtime.Main');" o% j$ G8 u( r. |
Diags.setMaskMeta(
9 T% `1 e9 L/ ] W, W "xdc.runtime.Main",
^3 P1 c; z+ n! w Diags.ENTRY | Diags.EXIT | Diags.INFO,
3 r/ G5 D! G* {' F Diags.RUNTIME_ON" x4 H: ]1 J! N, r* k) f% ?
);8 @7 I- i6 @. a1 l: O
; b% Y- P7 E" G5 _
var Registry = xdc.useModule('xdc.runtime.Registry');
: O) D, t7 A, _$ f! y3 Z1 NRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;5 o8 K, U6 M6 Q* t6 D
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
) D, n* O5 W1 m" e* q$ c! }Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
7 L1 S+ n' x: a; c8 q- ]Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;- _# P+ X8 ?2 J+ s! l! @
* J; S- e+ u% a6 R' v4 M- V
/* create a logger instance */
9 j8 ]8 P8 k* {9 K( d3 L% F! tvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# Z: R; I. Q; M0 ?) j: U
var loggerBufP = new LoggerBuf.Params();0 y f- k0 x% k# y
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
( X( u9 a5 w7 ]- \4 x2 DloggerBufP.bufType = LoggerBuf.BufType_FIXED;
% r/ h j; k8 _/ @
. v- K' ~( o, I) n9 j$ H" ovar appLogger = LoggerBuf.create(loggerBufP);8 j3 d1 `7 n7 F; w4 b
appLogger.instance.name = "AppLog_Core1";
( K' I5 M% U6 @/ ~, E; Q0 nDefaults.common$.logger = appLogger;+ f3 v0 O3 C6 K$ ^6 \" J) O( _! j8 [- _
Memory.defaultHeapSize = 0x8192; 5 ?8 Z4 |$ _6 f& M1 a& l+ ^
Idle.idleFxns[0] = "&LEDStatus";9 q& h$ D' `, X" t
Cache.initSize.l2Size = Cache.L2Size_32K;- K0 r5 D2 Z7 h! V3 J7 c9 a6 v
' I! f/ m- v: j: W9 D! V
|
|