|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
6 j$ R+ ^, a! x$ U! a% L. u我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! M( c! x0 }# E0 E
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
. T" o+ B; i2 K; p" O& F0 E2 X' u3 G# q
是不是需要在DSP.CFG中进行配置. y j/ x2 W1 z, F( L0 Q
我现在的配置为' C5 U# Y# L% K% y$ X1 j' H
d$ R" e/ K5 h. s8 @9 r
/*) O' O6 ?- n( ~; |4 A( z& O' g% m0 N
* ======== Operating System Configuration ========
; u8 T0 E) f. \: y9 H: y4 ] */
. C5 i# {6 f8 t' y. G' ^! I y6 O
8 q& Y6 C5 w2 X1 @' K/* no rts heap */! B- C% }; E* q' C! |) l4 ]
Program.heap = 0;2 Y+ P1 g$ J# r' G# I8 W
Program.argSize = 100; /* minimum size */7 j( F& A+ I" q+ d
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大) i+ @) \* i$ M8 k* U0 R
( G& r Y m9 k3 q! @# ]/* create a default heap */
% Q; p1 E* I, j: L) ivar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 S/ S8 c' r6 i
var heapMemParams = new HeapMem.Params();- U+ w8 R0 T# x; i! w, i
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大. p1 f- W# Y9 R2 M9 H6 }8 y7 _- ^
, M+ M8 f2 H! m
var Memory = xdc.useModule('xdc.runtime.Memory');
6 `' I4 Q* H- T* }* |4 eMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 E* w1 h3 m; x2 a
2 K5 t/ h8 @7 X$ I/* configure System module */0 u5 ]; j) D3 ?* H
var SysMin = xdc.useModule('xdc.runtime.SysMin');' u; W b- [ ~6 s; I
SysMin.bufSize = 0x1000;
4 v+ |7 p; x, a+ LSysMin.flushAtExit = false;2 U; r8 [1 u3 J) d" \/ W
9 m8 r: o6 Q7 @4 z9 P) s$ E
var System = xdc.useModule('xdc.runtime.System');! X/ }5 P" p/ z; b
System.SupportProxy = SysMin;
0 |" _" O2 q$ A( |1 y5 x0 e
) d3 n1 o! y: T1 }6 |! l/* configure SysBios to use the lower half of Timer 1 */
' y9 L" U. ?2 C( v, @var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ k6 [. A; v# D1 ^2 c+ F* E, c8 a0 gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
3 s) P1 l$ w. z' }% c: A yTimer.timerSettings[1].master = true;# `2 q y& \' A: n) _* r' _
Timer.defaultHalf = Timer.Half_LOWER;
u; Q% J" N, P4 ~' L" WClock.timerId = 1; p% {, @; P6 ~0 w9 E
$ Y# _- X+ l- ~! m& _4 k5 N; |+ C
8 w: h0 g1 _: ^7 Q/*2 X$ S! w% W$ W
* ======== Miscellaneous Configuration ========: k; P( w; ?# }0 V
*/
6 }/ }, }/ \6 y% ~* Z( m
' _- f: p# B) L3 }7 o/* set default diags mask */
3 J% [) m: Q% `5 ?. m, \var Diags = xdc.useModule('xdc.runtime.Diags');4 e( E% u1 ?" v0 @3 u& M" }
var Defaults = xdc.useModule('xdc.runtime.Defaults');
; h, u3 g5 M# X& @& B
8 m9 [+ y2 r1 M2 v3 V0 uDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
% ~6 R# L9 k: _) J5 L* E- rDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;- T( ?3 z: w3 n) B4 B! k5 Y
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;4 B$ m# @1 y6 Y9 M! c+ m
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
/ D0 Z! C" t2 z# @9 `- xDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */; U" f' r3 ?9 [7 r& |
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
' c5 t5 h, z3 O$ ^% S! oDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
) }$ \& d6 ?: YDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;6 u$ A( e" ]% X1 y2 N/ t
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
p% t8 Y! ~" m4 VDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;' e* G8 d5 \4 L& P. ?/ b
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
; g4 g( `- \; r& L" A2 ^; ZDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
0 `% H* k: a# X5 F/ s7 oDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
) b8 }% A% q& }Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;9 V8 \, G3 I$ Q7 r
' i( p9 Z+ ^! W" x( K
/* override diags mask for selected modules */) T+ v+ n. |: F2 D- A5 i. J
xdc.useModule('xdc.runtime.Main');
% h- j8 l# K! [Diags.setMaskMeta(
! j2 R- ?2 Y; @. h( e "xdc.runtime.Main",
0 X& F2 v. j" M) c8 k Diags.ENTRY | Diags.EXIT | Diags.INFO,* @6 i% h! f6 i- F' g
Diags.RUNTIME_ON' t. h3 |0 K) X9 Q
);+ `" K% V/ R1 E. l' p5 F2 a0 b, E
$ E7 R/ T4 A5 e' U
var Registry = xdc.useModule('xdc.runtime.Registry');
, J: z; s2 y& p9 ^& \Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. P1 O/ Y% R" xRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 w2 J2 P- ^/ [* i! i" g' ]Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
2 s! U7 Y, O. FRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;- d& F0 @# U) ]2 p, r8 _
# ` ]" }6 ~, e' ~( c6 R8 }7 g9 s/ E/* create a logger instance */
3 O/ D. o3 Y. H* zvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');' T" i) t9 [: p6 o6 ] Q% O
var loggerBufP = new LoggerBuf.Params();
( C5 {/ U4 W9 N% a6 u4 X- u1 {6 _; UloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 g) a3 P0 ^' o5 u7 QloggerBufP.bufType = LoggerBuf.BufType_FIXED;, V& ^$ O7 x L+ I: a" _% g$ O5 L
' l9 W% C3 N3 K W1 l! X
var appLogger = LoggerBuf.create(loggerBufP);
C/ [% [% _! r4 A+ H, O( Q& [appLogger.instance.name = "AppLog_Core1";: q3 ]/ w2 m$ e% s) O
Defaults.common$.logger = appLogger;: }' Y% @$ S- T& t+ N& r& S8 Y6 l! h
Memory.defaultHeapSize = 0x8192;
; C+ k2 Y, `! v& [% GIdle.idleFxns[0] = "&LEDStatus";
7 ^ p: x o2 d7 K5 V$ U+ a1 o8 rCache.initSize.l2Size = Cache.L2Size_32K;7 a* }' Q, ^ }
+ D! g! ]4 M' N8 |2 p! D8 i |
|