|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
$ k' ~, w A5 @; g/ E" _我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& X: v7 {4 V7 f
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)7 Q; |$ Y9 x! f
1 K* g, F; _! D$ o是不是需要在DSP.CFG中进行配置- h* _8 @2 L F
我现在的配置为" ?: _7 B" z/ f7 |+ H1 X
- {- R J. \) f; C. [- l/ a1 E/*
4 Z/ Z' S: Q; |1 K * ======== Operating System Configuration ========
5 K# J6 b$ n- h2 D% c! U */6 x% ?4 z) |, m2 I' i% e$ q" V W! G
+ o( ^( D; ]4 I3 c+ F; p/ \1 m/* no rts heap */: _$ X7 J* U$ D/ @' j1 O+ m
Program.heap = 0;5 H' w) O" l: L- V2 ~5 o) A4 [% W
Program.argSize = 100; /* minimum size */# R" B+ i0 t _- D" T: ^
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大" M# k$ h4 o% ~1 o$ X
& g) _9 i0 c8 ?& _3 F
/* create a default heap */ B I# o1 `; L. L; A& Z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');- p. k0 z7 _9 E% H) |" e( k8 e
var heapMemParams = new HeapMem.Params();
* _' Q& h) W5 I( h) u3 Y8 ^heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
) n0 y) N. L5 U' z# q" j1 }9 O% J) o: S7 h0 {! [8 p t. D% w. S
var Memory = xdc.useModule('xdc.runtime.Memory');! p3 i! O% l, [0 f
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);+ i9 d( _8 e4 a( l( F
( w. X4 N v% y' u) ~
/* configure System module */7 k, K: U+ {7 a. Q/ h% R* o
var SysMin = xdc.useModule('xdc.runtime.SysMin');
" C7 _, y+ ?2 g' ~. ISysMin.bufSize = 0x1000;7 j9 v8 U1 V+ x& C; j% z
SysMin.flushAtExit = false;" {( @: _4 G8 k' K
+ D i6 r3 ]9 e7 J& T [9 G' z/ Gvar System = xdc.useModule('xdc.runtime.System');
8 I; w, m9 K% E6 o7 RSystem.SupportProxy = SysMin;
5 V+ u- F% ^. I$ v( s" V. m) Q8 h# A% P; [0 m: Q
/* configure SysBios to use the lower half of Timer 1 */
' B- u8 q! Y* \5 K4 gvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
2 `) s6 Y: M' h0 T! F9 C7 Q6 M' _var Clock = xdc.useModule('ti.sysbios.knl.Clock');1 r) ^7 V% D1 e8 e4 z" F8 t- ?: q& M
Timer.timerSettings[1].master = true;
5 O1 x, S# B" Q' Z- ]* P& hTimer.defaultHalf = Timer.Half_LOWER;( V. J/ P: V, M
Clock.timerId = 1;
9 U# @6 m' I+ u, [! Z- H6 S9 ~
0 P7 m# C3 L1 _$ g7 g8 \) L0 Q6 z, N7 n: L. r( P8 M; M9 F z. J
/*! l) o1 q, G5 ?: m" n ?1 U
* ======== Miscellaneous Configuration ========" j4 d! V% a0 Q- P5 a
*/
2 }' k' }: l, e8 T3 W* b' t7 d: Y: C0 w" t: C) c5 M0 C' e* D
/* set default diags mask */
: e, `8 A' E) Dvar Diags = xdc.useModule('xdc.runtime.Diags');
# `! t$ E; {- B- qvar Defaults = xdc.useModule('xdc.runtime.Defaults');
# D! H8 G1 T% b& g4 B5 _9 C
) U; I) |9 N0 q# b6 g- {Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
' ^7 O3 p3 m) RDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. `: X* D( d5 z; s7 o% r- `, HDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
) M1 s& x( W% a k2 J) b% c. I+ {Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */7 s+ R# f5 l3 Z4 F* f, e) F
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
I+ J/ L0 Q% P- z; ZDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
0 i% m1 N$ T& j8 q1 P$ h& L; q. YDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
( Z/ F k* ^4 z3 oDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* |. }' w5 e) f' f% O& D1 f, o# O
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;/ |7 a1 K) l& C5 A: ?4 _# H3 D
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( h( L* s5 X3 G) s& t7 n' \0 zDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! L2 @ q% @3 ^3 x4 w" uDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;0 B K+ q/ X2 v0 q/ M( v5 v6 Q `7 t
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;. P! |) v2 ^& `) @3 w
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
" P* n8 ?4 L7 e) D
$ @4 g' _3 v- B/* override diags mask for selected modules */
- O* X# y& L) T9 J0 [. lxdc.useModule('xdc.runtime.Main');$ x' ?; P! C* ^. R
Diags.setMaskMeta(
1 t- {" h3 D/ H9 K6 ~0 A "xdc.runtime.Main", S; b% G0 W4 {; V
Diags.ENTRY | Diags.EXIT | Diags.INFO,4 j/ p% {, F z
Diags.RUNTIME_ON
4 B, g T" e/ q# V% T9 n);
5 h3 E% ~' p5 ?, A0 t5 P# c0 ~/ ?' K9 F6 g6 |+ h: j, ]
var Registry = xdc.useModule('xdc.runtime.Registry');
/ _% [5 u. y' B. D) m/ QRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
" t, \$ J3 }* _: cRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;' e5 @7 _2 d/ Q$ c9 `% _
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;6 }1 Z/ D7 V& R: c% K# R
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;& D3 w2 Z9 ~' |9 ]" N
, _, x& V$ S4 v) Q/* create a logger instance */
+ D" ^; J8 j% @var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');2 l1 U8 M/ _+ B7 c: w8 L$ H
var loggerBufP = new LoggerBuf.Params();# T9 @) V A: r" j" P
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */3 d7 t/ o. ? H' r
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
4 a4 |- k" X: B; S% w q( F O! V$ o, d8 K q# e& Z6 B# w2 V
var appLogger = LoggerBuf.create(loggerBufP);
S, ~! d ^! f4 P6 U" ZappLogger.instance.name = "AppLog_Core1"; ~* k7 y4 D' ?
Defaults.common$.logger = appLogger;7 u' x9 J& S+ l- F' E* O
Memory.defaultHeapSize = 0x8192;
9 W2 P3 y% p( ~- F! G3 OIdle.idleFxns[0] = "&LEDStatus";
( \. j9 b: P: i! x7 qCache.initSize.l2Size = Cache.L2Size_32K;3 t3 n# K. A3 U2 E8 H* z
( M+ }* e! J% |: N) g/ g( q2 T |
|