|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
7 F5 u& E$ X5 Q" g6 X3 {; e我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) O5 W' c3 c! j1 O3 t+ ^. x(不过疑惑的是,为何单独DSP仿真就没有问题呢?)5 k5 ?2 A0 }7 ?5 ^
4 M+ L) h; J0 G6 L; N
是不是需要在DSP.CFG中进行配置
0 d8 P, o$ t1 J5 k" _我现在的配置为
3 ]- ]/ O. w% E, X; U$ u5 p* H$ X2 A. L9 ], v# C
/*
8 t2 I8 |# Z" j, O: l# p) m * ======== Operating System Configuration ========
, p" |, p7 D* Q! }7 f8 d8 r" g$ A */
, i( I$ A1 b1 d" V J( m% P$ ~. y( Y1 O ~9 q
/* no rts heap */
; S, t7 G, [/ UProgram.heap = 0;) p$ ~' {- c7 h0 ? r7 l
Program.argSize = 100; /* minimum size */
( k- F& C {- ]8 CProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大% S1 [8 ? [2 q5 z* Q" j, M1 V
) o/ N7 n, k& {$ ^
/* create a default heap *// U# C/ z' Y# q6 I/ \2 H( e( C
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 \4 p6 N( f" ]9 S4 _) E! ~ u8 L
var heapMemParams = new HeapMem.Params();. {7 L, h7 n( N
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
: g7 D$ c+ h7 ]7 U& o1 m& V. H0 l
7 |* r/ _0 O6 ^/ h6 p0 k& rvar Memory = xdc.useModule('xdc.runtime.Memory');
. p5 ?) o; R' R4 W1 }' y* Z- w3 ~Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
% P5 k7 I% d( U/ H$ W5 v' h: s9 x U' D1 Y% P' m! a _
/* configure System module */
, V" N' L+ l# kvar SysMin = xdc.useModule('xdc.runtime.SysMin');5 [; x, M5 q0 n4 n, n% A7 D7 P
SysMin.bufSize = 0x1000;
3 M+ c, a* j; _6 HSysMin.flushAtExit = false;
2 X) A' }$ V- I+ @, i/ [8 ]7 [/ x. z+ B1 ~
var System = xdc.useModule('xdc.runtime.System');: R* `& ?0 O$ y. u4 H, q$ F
System.SupportProxy = SysMin;
- }& O5 _* ]7 ]9 i& P+ t6 b5 ]6 a8 H6 p _9 v. ~/ F) @
/* configure SysBios to use the lower half of Timer 1 */& q5 N/ `, W& g. i1 x% P& F; k
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');8 v- c; g. q0 j- e, x
var Clock = xdc.useModule('ti.sysbios.knl.Clock');( e; V! u/ {+ V* t8 V# Y+ H
Timer.timerSettings[1].master = true;
2 d: q. [( Q' I" V( `! X7 wTimer.defaultHalf = Timer.Half_LOWER;" r7 M- {, o- G' P. L& x& R
Clock.timerId = 1;
! u1 i3 m. M/ j
4 S) i: l2 r5 |8 ^+ u" H5 T
9 Y5 y: a, Z# H; T/*
# ?) w- h' `; h * ======== Miscellaneous Configuration ========/ c0 j$ | C Z% s1 Y& S9 L
*/
8 o0 K9 n' N0 S. X* y2 l r8 t, g, ?( i) M% v0 z1 r2 ^3 D8 K
/* set default diags mask */
. |/ W. Z ^* W9 F( a+ d! Y: Fvar Diags = xdc.useModule('xdc.runtime.Diags');6 Y" s8 f: G" ?- @0 f9 k
var Defaults = xdc.useModule('xdc.runtime.Defaults');# Y7 Y- |' ^0 D; Q
% m% V& P w% R9 p0 m, M
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
. V0 C2 d/ }% nDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
) g6 U- M/ Z/ E. f* R' Y; QDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;! d! V, o( }" t
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */( {+ j+ x2 c% \3 c+ Y1 n
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */4 x" P- W2 \# Z8 l) W5 R$ U
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;- V2 k B4 u. n) T
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) f w* [, b% e8 e* |) |
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
+ p/ `1 g1 }& e! p/ D6 R/ D1 h9 QDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;- D; k; n% Z/ u. y* Q+ m& @
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
, }& R$ Y& K) oDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;6 }) U: r+ w9 r. g: @
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 Z5 W- W8 I" q4 JDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;/ b0 d* g5 U+ u7 c! c2 B7 K) h
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
u# M+ A% U3 `6 G
( @2 O* C/ g$ O/* override diags mask for selected modules */
$ {" A4 K0 {* ]% M9 mxdc.useModule('xdc.runtime.Main');) ^$ ~: V% d2 U3 p$ j( ]
Diags.setMaskMeta(
! E- A& Y: ~$ H) x6 ~( b "xdc.runtime.Main",
" O0 O1 ]# o( n* R$ f: ^ Diags.ENTRY | Diags.EXIT | Diags.INFO,: r/ V+ n9 R. |+ x8 S3 S
Diags.RUNTIME_ON' a1 y% j$ {$ |9 ~6 ^
);5 x5 f0 j: \( W$ C9 e1 L
' g' { M% z" k2 g+ X7 }var Registry = xdc.useModule('xdc.runtime.Registry');4 l- e6 T) \/ B; p
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
* v K0 }- W: |" E7 ^2 [8 TRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
( h( G: A d* T) c0 Y4 Z8 FRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;' N5 i9 r2 L# P) U0 E
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;9 c$ d$ ^" T z9 \
) F2 k; i5 j1 e5 P1 N/* create a logger instance */, D7 ~2 c$ f# q; n
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 w+ E$ c% @5 y4 J. n; avar loggerBufP = new LoggerBuf.Params();) c6 s4 {" f# [9 m- L
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
! _2 W" C, f! m6 E$ X$ FloggerBufP.bufType = LoggerBuf.BufType_FIXED;2 p) e# g. w: h# z5 z) C! q
, |) a/ I, `! @3 H6 N {4 ~var appLogger = LoggerBuf.create(loggerBufP);0 W8 u7 s2 f, b; Q3 \! ^( \ c( w
appLogger.instance.name = "AppLog_Core1";
# u5 R- E5 c2 H( p6 ?Defaults.common$.logger = appLogger;
& w' L+ L# ?4 l0 d2 yMemory.defaultHeapSize = 0x8192;
$ V5 K8 G$ w+ ]0 E3 YIdle.idleFxns[0] = "&LEDStatus";% i X5 y9 ]! q' e* h6 C' c
Cache.initSize.l2Size = Cache.L2Size_32K;
# m; \5 N/ G. i5 W: E! ~8 C; G6 v! [: P. Q) B# a6 D% l. @5 {
|
|