|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明& ]# I2 r, y# Z( W3 u3 A' x
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* ~5 S B: ?3 s2 O c, z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)" K5 }$ J& B6 `- g3 O- `- M# k3 k
" K* D# n$ i# n2 N
是不是需要在DSP.CFG中进行配置; [2 y4 {3 P% I# x+ Q
我现在的配置为
: P7 q0 Q9 G) a% _; G' i8 z+ ]' U
/*. \1 [3 k) M$ a- X
* ======== Operating System Configuration ========1 _: ~% X2 x* C0 D- P
*// f$ |" @2 u. L7 E3 L& s4 @* V
. q7 @7 _7 L/ H( M- L9 w3 O ~! I/* no rts heap */7 X1 R+ W! A+ G
Program.heap = 0;
. ]# h/ t0 ]8 x* _* L5 LProgram.argSize = 100; /* minimum size */4 w6 ^" w/ G F) d4 X, h# U& S
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
. I% Y, A8 v9 J$ \6 b" }) d
6 U j5 d; h, t8 M/* create a default heap */
5 R; ?1 n2 d0 _) v2 c1 [+ k$ @0 [var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
8 x- l. \) R7 L9 d5 Bvar heapMemParams = new HeapMem.Params();
1 w) G8 F0 l& n" z `: yheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
+ s0 l, y' A/ L- [8 `! `
# {; N5 c3 q) l, H* ~var Memory = xdc.useModule('xdc.runtime.Memory'); y3 |) P" M1 b/ C
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
. s2 T5 }: H! j; T4 I0 @
: I% s6 J# B/ \$ k; k% R" c" j/* configure System module */1 l+ G$ j7 p, B: L
var SysMin = xdc.useModule('xdc.runtime.SysMin');
4 O- e" J! T4 s; Z- G, j+ Q" [SysMin.bufSize = 0x1000;3 k0 E! @8 V5 i8 h4 g4 ]
SysMin.flushAtExit = false;' U. P" N" t% U7 S( n! F
9 t% Q) I g( C, |4 E6 y
var System = xdc.useModule('xdc.runtime.System');
2 o. z/ J8 v; g9 A0 ?9 H9 I" USystem.SupportProxy = SysMin;8 L8 H; ~. V/ }3 |' R; U1 S
0 F, R7 C: `3 f6 [8 }6 i
/* configure SysBios to use the lower half of Timer 1 */' K7 X) z8 N8 Q9 ^
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ j0 D) U* E4 Q9 u( K( W( p& h+ e3 Dvar Clock = xdc.useModule('ti.sysbios.knl.Clock');( p/ ]* m: ]5 X2 J( p
Timer.timerSettings[1].master = true;
5 z1 y8 ? @# N1 `! K# a$ aTimer.defaultHalf = Timer.Half_LOWER;
) W, m& V( x- t2 r6 u, O$ d0 bClock.timerId = 1;
' \, w7 B& m/ N) D1 f6 ]( j) P/ e5 T+ u9 A, }2 c/ \4 K% \
" P& k6 S' f: U# c+ s
/*" i4 j4 K9 M2 t; m2 s
* ======== Miscellaneous Configuration ========1 c, J1 L1 b/ Q# }- a
*/; F6 {! q4 M7 ]6 i' U, V& h
* H& V3 _: j/ M( r P1 S9 L, E/* set default diags mask */
+ x. `8 }) C3 J5 q( u+ ivar Diags = xdc.useModule('xdc.runtime.Diags');* S: X# H6 y E# ?# a! _# ^
var Defaults = xdc.useModule('xdc.runtime.Defaults');! S! q* t6 {3 s9 f0 T2 _8 r+ m: l# u
3 D6 c" x) T3 }% Q/ i( j1 eDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
6 c' u( [. X3 g* zDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
1 X% n* f" u1 QDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
) }9 j/ D; u% |! Z4 SDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
. U1 B) G( J9 ?3 `6 @* SDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */' R/ Y3 |7 @" [: Y. ~8 y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 ?& {& n4 v. J; n9 b6 qDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
$ J8 d% g" g9 [2 d/ Z; pDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
" }' H- _2 @/ y* E' X, K' \# sDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) J% g, Q; v1 m' R$ ^6 p2 wDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;! [/ O/ C2 o% E* f: E0 A0 ?0 }1 t w
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* r0 e* ^/ ^6 Z! ~& F- q0 @3 ^Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF; w5 k- o. |) |* }3 e% S
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;* m( Q, z# B3 o+ j& ^0 w- i
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;/ i5 f" l1 b. u& L0 D" O0 v8 i
: s7 Q9 O- M# X _/ a8 Z/* override diags mask for selected modules */+ P" R" j' _7 E I
xdc.useModule('xdc.runtime.Main');8 {$ K% D; |: f2 f1 P1 }
Diags.setMaskMeta(
_8 R M, D1 |& F9 ?0 S& C* Y "xdc.runtime.Main",
/ g$ [6 h( T- H) n$ p8 }6 G, s7 T1 M Diags.ENTRY | Diags.EXIT | Diags.INFO,0 W- ^: Y7 R. [0 q: k4 b4 i
Diags.RUNTIME_ON
6 J8 S' a) p0 D: O" ~ | a# \6 h# z);1 M2 w+ H7 w% H! f, t) P
0 A0 Z% L( b$ |" i/ R# r
var Registry = xdc.useModule('xdc.runtime.Registry');
) s+ M! z7 p7 U/ n7 nRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
' B. Y1 l5 c5 W6 }+ ~7 SRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;6 m" Y ?5 n! g
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;3 Z {. I/ z& ?) e, J8 l6 o
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF; C- ~3 r% M: _+ m$ M
" S+ A. ]; T( W4 j( x E6 j: e) q
/* create a logger instance */
' i6 ^- K' W5 l- qvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');% l& E& J+ j) J; P. f' W4 j7 ]
var loggerBufP = new LoggerBuf.Params();
I8 [# j3 r. f- Z: C% qloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
, V. w. c Q" k1 X! V. ZloggerBufP.bufType = LoggerBuf.BufType_FIXED;' Q7 T4 D5 |% h# ~; T5 H9 S( l/ B; O
1 n- a/ Z0 B( H2 ?: V2 p8 @- \
var appLogger = LoggerBuf.create(loggerBufP);
9 _7 o8 @! v8 j/ R9 D* UappLogger.instance.name = "AppLog_Core1";3 [+ C ^9 @( W/ d! N- m" V
Defaults.common$.logger = appLogger;
% ^; Y- n. c* SMemory.defaultHeapSize = 0x8192; . O+ S0 m6 C) Q1 F! W
Idle.idleFxns[0] = "&LEDStatus";, z% H5 z( s! k$ I" f/ E% p
Cache.initSize.l2Size = Cache.L2Size_32K;6 j7 R m# L+ Z6 A- M& z! H% N, x
" D: \5 F5 c1 s5 Z+ U" v |
|