|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* c2 j j& x* ~: l% [6 C
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
0 F3 b7 h# g9 n4 t# s(不过疑惑的是,为何单独DSP仿真就没有问题呢?)2 y( h0 G- R% Q9 P! x
p) c2 p! m# Q, a是不是需要在DSP.CFG中进行配置
) ]1 d Y- `* d1 Z& y9 P我现在的配置为
# }7 d6 D+ L8 ^" X+ I3 u. R
5 T) y% x* s) R( p/ T+ x/*2 [7 _: t% e$ a u. J4 C4 R
* ======== Operating System Configuration ========
5 C8 K: S1 x) I* ]0 T! p: {# y4 Z */
' q1 j( \) R/ f; k# O4 f! h7 E
! [5 {8 ]2 z! p' q/* no rts heap */6 J' ^4 _* Q$ O+ k% o! b! d% r
Program.heap = 0;
( H" [, t: W3 D) S0 LProgram.argSize = 100; /* minimum size */" g! p# |& ^& {1 O3 M2 \" p
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大" X9 H A. m( x/ @3 }5 w
3 U! E% l# D# u# [9 _* ?
/* create a default heap */) [) c" b d0 Z- n
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 ~" V# s' H0 O6 W# lvar heapMemParams = new HeapMem.Params();
' e( l. k5 K( q4 |5 dheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& C4 h' W3 B# w0 m/ L$ f5 c+ t0 Z! p
) e' ~, g @, W8 O% bvar Memory = xdc.useModule('xdc.runtime.Memory');) Q. G! z8 U. R$ [5 O$ P8 L: i5 A, ^
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);: j5 z7 }! ~/ v/ t; C* c
" x1 J3 |. S- K$ q" P/* configure System module */
1 E1 z2 l7 d/ h. \var SysMin = xdc.useModule('xdc.runtime.SysMin');4 a. i$ A7 |% a
SysMin.bufSize = 0x1000;
; r/ F0 ]9 D; O* P7 K' }7 t) D8 zSysMin.flushAtExit = false;
) N) D7 K0 v, V% O2 n V, G- c( \+ L" O
var System = xdc.useModule('xdc.runtime.System');0 ^, |. l/ c& ?
System.SupportProxy = SysMin;0 ^0 i' g4 K, ^& w0 N5 L; u
: L# @) F/ f1 X9 I8 o3 R3 O/* configure SysBios to use the lower half of Timer 1 */0 A Q" P4 Y7 t8 f) y) q8 T
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
2 Z u( t: A) Bvar Clock = xdc.useModule('ti.sysbios.knl.Clock');) k! h' T: D* d( ?& h, U
Timer.timerSettings[1].master = true;4 [( F/ ^% S" y
Timer.defaultHalf = Timer.Half_LOWER;
) P" U: U4 `+ J( q# b4 n' ~8 lClock.timerId = 1;9 v9 K$ f; v, \# Y- {
, T O5 i- t1 ~6 D, b, @; [
+ ^1 F7 R7 W5 p) i9 y; Y4 \/* F) @% d3 d0 ?. K1 a9 A
* ======== Miscellaneous Configuration ======== y$ P. z/ ^" v( S) c3 P8 m
*/( [& L' H$ Z; B, O( D8 e
* `, @) K- ^; U8 h/* set default diags mask */
1 D( X7 D ~ kvar Diags = xdc.useModule('xdc.runtime.Diags');
& S4 `5 ~5 B0 b) Lvar Defaults = xdc.useModule('xdc.runtime.Defaults');
' r( I$ U+ i/ ^6 U) ^1 K0 h7 d7 F: @; o8 Q4 r" _/ a) Y7 O& o" K
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;( a g+ r I- m, {) m, W
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
% d5 w2 d4 M) d* U9 U" x+ M, WDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
' U( B4 J1 g; ODefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */5 o: m1 h2 ], Y8 [# f
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 Q4 T# T1 h F9 `: e; @
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;9 o# v8 p+ P4 I
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;3 A" @* m+ c& p
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;9 X" u/ y3 S- A6 b/ c5 M8 b6 Q! a
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
6 @, P) v4 C9 ~3 Z. ^; c% @/ qDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% P$ C" s9 I; m2 J
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 Y: A: u/ [4 o* w5 K3 V5 x9 F! t: IDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 P# O3 M0 A% EDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
4 [8 ]1 T( i# {! Z0 V& N: p- sDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
9 q% @6 ]' B8 g1 K0 O3 `9 G" z% J$ |0 K* S$ S
/* override diags mask for selected modules */
+ U. f$ \8 d$ [+ ?0 a* lxdc.useModule('xdc.runtime.Main');- p0 F1 a. ^* r" h, b0 j/ h$ D8 B
Diags.setMaskMeta(
3 o+ ]& S$ |: c, [ f k "xdc.runtime.Main",
5 @8 r; k, c/ g# A! r/ ~ Diags.ENTRY | Diags.EXIT | Diags.INFO,
" F; o( ]/ F* [9 X" A2 @" Q Diags.RUNTIME_ON
8 q* s5 ^0 G, P- w; ?& ~) J);! ~- q' `9 ], ] ?$ p
7 L/ R- \6 D0 s) g0 `, ]3 }
var Registry = xdc.useModule('xdc.runtime.Registry');
: \ x2 `* [+ s# }) |Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
9 \; U7 \) r: Q: q. wRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;, e# A3 P5 G4 I+ H7 o
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
, h9 g+ B! K* k) }8 L- V0 DRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 I# P; L/ ~1 L* e6 M1 Z) c8 z/ S& T2 `2 {. }- v8 G: o% G9 Y
/* create a logger instance */
* H6 e, y# v3 u3 q; J/ O& Cvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
. J0 g( x. y$ u1 Xvar loggerBufP = new LoggerBuf.Params();
8 w8 c( f! X. b, Q' ?loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */: Q% {; u$ [5 e5 w. J
loggerBufP.bufType = LoggerBuf.BufType_FIXED;. @1 t. n$ ^" i& M. a* c
5 t `$ j2 L1 H* y: t" e: V
var appLogger = LoggerBuf.create(loggerBufP);9 p4 B1 f7 H) r4 P
appLogger.instance.name = "AppLog_Core1";
5 u D. x. S5 lDefaults.common$.logger = appLogger;: X& F& N% g6 l- T+ x; h& o" D
Memory.defaultHeapSize = 0x8192; & a& ^- W1 [$ b) l* T& I# j7 B& r
Idle.idleFxns[0] = "&LEDStatus";
5 y5 B6 C8 y# A! a" [5 iCache.initSize.l2Size = Cache.L2Size_32K;
6 i9 O' ^5 u& Q6 }) j
. w9 G; _4 e( O& r. I1 I1 W8 @ |
|