|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# K' `- @* V; c我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
! z6 a) R' ] K$ K" z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ m. W* ]3 `+ M: k4 X
( @! b4 n% a# w c9 c是不是需要在DSP.CFG中进行配置5 H. @+ B9 c- z' c" ^4 }! r2 Z
我现在的配置为
1 c7 Y) `7 z4 q, y) a) N9 W+ W z. _' p. \. T# p; a
/*
: W. e8 j5 ~; @0 ^ * ======== Operating System Configuration ========& a4 @- l" o: m' d
*/
2 B: ]2 Z3 S% H* C8 s! E) q" G- i, m& E. I
/* no rts heap */# d2 u& K9 Z( T& J L% N8 Z
Program.heap = 0;8 @' Z3 ?* x( m: V$ V
Program.argSize = 100; /* minimum size */
# C0 l- V2 t, d% x/ D" ZProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大( [$ P8 C% Q* Y
/ h5 j+ O* g8 F' U. _4 c* V
/* create a default heap */
7 I! V8 H) I/ O9 _" G& S+ r2 Qvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
4 M' f( h0 a8 X' \var heapMemParams = new HeapMem.Params();4 l, F1 n4 {" ?* p; u
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大3 P) E9 m0 W' Z. ?& \
6 B6 k) }6 q& p# c2 Uvar Memory = xdc.useModule('xdc.runtime.Memory');
% u/ v& B$ F, V0 mMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
% X$ `, q( \' ^* E$ r
, A; W) k7 H4 o4 t/* configure System module */
% H% v$ L* C" X1 Bvar SysMin = xdc.useModule('xdc.runtime.SysMin');: L( F% j8 e( N* M
SysMin.bufSize = 0x1000;% p, y, o6 ^' b4 N q
SysMin.flushAtExit = false;
1 A: M: ^9 @5 j
5 z. \5 t0 H( F4 i- ~7 ~3 Lvar System = xdc.useModule('xdc.runtime.System');
6 m# C" c6 U1 F) s% M- w# jSystem.SupportProxy = SysMin;
+ {& {. R0 X$ l( `$ Z6 v( b3 J# H# d: A; t2 h
/* configure SysBios to use the lower half of Timer 1 */
- U* R9 {2 q" i- Evar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');+ S6 J8 a o% u1 h- P
var Clock = xdc.useModule('ti.sysbios.knl.Clock');" B0 N+ C7 N- E; ?+ E5 P2 L8 R& A% V
Timer.timerSettings[1].master = true;
5 t7 q, I8 ?' D7 c' q+ c; f: hTimer.defaultHalf = Timer.Half_LOWER;
- T8 @9 j! ~2 T2 |' ]Clock.timerId = 1;
+ X! R) K9 \6 A( f2 E9 ^" D$ p5 {$ Q% T: o! I0 W3 s
/ V, A' z; I5 e& T
/*
" T$ R" N+ j- d0 h/ s0 E * ======== Miscellaneous Configuration ========
/ B# v4 i1 k: I- O& Y% b/ Z7 n* r */
) f' E& c: {$ p) }# M$ J3 K% z( C3 @2 v8 C2 u
/* set default diags mask */
- Z9 L, a ^2 m* u5 U9 H6 Fvar Diags = xdc.useModule('xdc.runtime.Diags');
- t& e$ l$ u7 d+ G' P. v: xvar Defaults = xdc.useModule('xdc.runtime.Defaults');
# ^2 g5 G$ k( G% d/ F9 ^- i: L, S( e+ ~3 \4 d9 ~) `1 y% a* G
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
0 S7 U: @9 A% }0 I7 kDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;2 e" h3 ^- m: j2 q: h7 z/ F2 F
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;* Z7 B9 p1 D" D. F8 U7 W
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
/ S/ u& f* U. n' J0 PDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
F1 ^5 X Y, z- g+ \Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;& f8 i3 T1 n: N1 x2 i' e# ^
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
( q/ H3 I- b+ GDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;6 f; n+ L( y- a: x/ z
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 G) e1 T4 N! j, sDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
2 S0 Y! ~: P7 \! MDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
: U" i1 y9 m' P1 x- _+ n# gDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;" ]# ?$ {# p& G
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;0 L4 o: D* ~3 I0 u- Q1 B3 T m7 R
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
, T7 i2 ?1 T3 t b) o8 D0 S: Q: [8 r3 ~2 V4 k7 i3 d5 |# V7 w
/* override diags mask for selected modules */
9 j% F( d0 R" M8 ` }/ O! ?xdc.useModule('xdc.runtime.Main');
' y! t9 @7 b) ~) @4 C; R: Z2 NDiags.setMaskMeta(
" [1 v" I1 n; e8 N "xdc.runtime.Main",
8 z+ a s h6 r2 B" j7 H Diags.ENTRY | Diags.EXIT | Diags.INFO,3 R4 P0 h" C0 D5 W: w
Diags.RUNTIME_ON
. R% y3 O& b! l; y2 ^);# g0 B8 K# D& f* T c
+ G) L6 h2 }$ i6 w0 hvar Registry = xdc.useModule('xdc.runtime.Registry'); z i/ Y; l9 W4 d* t1 d
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;& B! \& m7 s0 R# @( n
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
# l+ @0 O- s; z9 D7 URegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
# T7 z9 H3 s/ x6 i: Z5 x9 |. HRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 k* v9 P* Q. l9 V2 T. E
; k6 u' \- k4 ]$ D& `% _/ ~/* create a logger instance */; ?" U: `1 V+ H9 B$ E! U
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
8 s" q/ ^1 u+ F* V: ?& [var loggerBufP = new LoggerBuf.Params();
/ [, x4 C" N! B5 K- }loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
[7 W# }! n" b2 q) AloggerBufP.bufType = LoggerBuf.BufType_FIXED;
* G( ?8 P) V& q. j
7 v* w9 |5 \$ }9 b7 m- zvar appLogger = LoggerBuf.create(loggerBufP);
0 n$ u" ~7 b! ?- @! g% i- }6 eappLogger.instance.name = "AppLog_Core1";
1 l+ e& x' v p1 l; K- l$ U- FDefaults.common$.logger = appLogger;
/ W6 v0 C, l- }Memory.defaultHeapSize = 0x8192; 1 l. h; }- g9 { Q6 t" M$ b3 O( G
Idle.idleFxns[0] = "&LEDStatus";/ a+ B! y3 i0 T: S) ^" {
Cache.initSize.l2Size = Cache.L2Size_32K;' l* q, r* X$ p6 d
" u% y% |* N) H9 d2 V
|
|