|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* t* g G) M6 v# O' P' O9 M我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下' X) W+ @% g; g6 ]
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
& ~0 a% F1 F; u* w) Z0 `: S5 y
: [" @/ C" ~% [9 H是不是需要在DSP.CFG中进行配置) Z7 y+ M" G( k6 f4 V0 d5 h
我现在的配置为
8 W; ]7 \ V' a1 f; x
& \ I/ ~/ } E7 O+ a+ h/*
L" R4 [6 I* K; n% j' E* g/ j * ======== Operating System Configuration ========8 A$ z, ?. m5 l- a
*/
7 K a3 R. @. a% U- R$ U- G: Y
$ u" K: D( h3 e y/* no rts heap */
2 y4 S) c7 m9 h4 w+ g: S* fProgram.heap = 0;6 h( f. I3 Q5 W- w. [/ P( S
Program.argSize = 100; /* minimum size */- g* H( L: ~9 z7 Q, q
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大1 ]! p ]( V+ m, a! D% ~5 y
& {. }- n0 t2 {3 ]. v/* create a default heap */: F7 M' I7 t( [
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
" q4 [* L4 V8 b- Y8 o/ B/ I$ kvar heapMemParams = new HeapMem.Params();
5 l0 J7 ^1 t% g( N! C: xheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大/ G7 D2 O4 Y9 K8 z+ m( k! \' h5 k
9 c, M* }" J5 _! @! Rvar Memory = xdc.useModule('xdc.runtime.Memory');+ a6 z b6 y# N( B1 I
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);/ h6 L: _- C) f" Y) J' D, C
0 ` K8 h: _/ L; i- |% }* W/* configure System module */- r9 S8 G& l) _7 w: @. c
var SysMin = xdc.useModule('xdc.runtime.SysMin');
2 W' T) `5 q& L m6 ^/ JSysMin.bufSize = 0x1000;. U6 U) Z5 U, N/ B" z0 j
SysMin.flushAtExit = false;! I5 E" p! Q; k
: y" s! r* Q+ L5 a/ b) `
var System = xdc.useModule('xdc.runtime.System');
2 s5 ^! @7 |' m0 W k& LSystem.SupportProxy = SysMin;" _# D4 X) M8 \/ u& h8 h8 C* {1 O
) |9 |+ L* b! ?0 j/* configure SysBios to use the lower half of Timer 1 */
7 S% o9 B7 Y% j1 d ]+ rvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( X. z" u" q$ Q2 N5 }( _+ f* xvar Clock = xdc.useModule('ti.sysbios.knl.Clock');. q" L, ^( O* G7 A; X/ l* A2 N
Timer.timerSettings[1].master = true;( A- ?! n& I+ @; S% F* @
Timer.defaultHalf = Timer.Half_LOWER;1 K) J* f! A0 Y+ ^6 U
Clock.timerId = 1;" M4 F. Z! [8 Z; G g z
& v U2 M# m/ [# R# |' d4 f2 |0 x: H; ^& { c0 }# O+ T
/*8 w" y8 n0 _) {& c& ~& k# }
* ======== Miscellaneous Configuration ========/ q5 f" o# k. q
*/
E& a& S' m% |0 V' k, S. _5 ^* _; \# O' W, y* B9 o2 J9 @1 r
/* set default diags mask */8 v. B& h l' ~3 ]' Q
var Diags = xdc.useModule('xdc.runtime.Diags');
- w$ }. A- M2 s5 H' s8 f; {( T Svar Defaults = xdc.useModule('xdc.runtime.Defaults');
# a/ `% B& l' G, r! ^
6 D; P3 z5 F; n4 M7 P) mDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;( d9 V9 V7 I7 c) `$ M2 B3 c. F3 {
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
" O x# w9 I; QDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
6 X! C4 @" Z& H- Q! X9 UDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */' \: F3 {" `5 ^2 i% V5 ]
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */1 U R2 b- u* q
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" t* F, D0 N$ q- i' E2 XDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;6 |- C" D: Y- u4 \# q& ]% T! N$ i
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 ~+ E" g# ? e1 p; F$ P+ ]0 mDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;8 V* u4 g4 Q+ U7 H) N! B: e
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;6 m- \" i& \% N3 f& |+ P% `4 V% n
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;: B& Z+ I) n |* n, R" y
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 A1 F1 j9 d% f) @
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
: `* c- ]/ E0 iDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;' w( H+ P: k; |- t5 z3 s& |
6 j j7 x4 d- L6 Y: W6 L) Q* c
/* override diags mask for selected modules */' s* s8 U/ o: p' a
xdc.useModule('xdc.runtime.Main');3 E! H! W, Y5 n
Diags.setMaskMeta(
" i0 j/ y1 L( s+ Z1 Q* a! o/ @ "xdc.runtime.Main",
: _' \4 H0 \8 @. k Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 t$ h' i6 p% G! } Diags.RUNTIME_ON
) w: Y( z( T& ] f# v" H4 k1 `' O! m);1 x5 |' F4 g0 t' ]
$ ?; E% C( ?% I' |% [
var Registry = xdc.useModule('xdc.runtime.Registry');
$ }5 r1 S+ ^8 k9 s2 P3 G! m$ z! ]Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
4 K1 n6 P- N+ ?# ~+ ZRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;+ K( n6 F- E7 x3 ^, D
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
# c% m, g! n( h! l% w) m7 ]6 kRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
( ?. s% ~, y$ W. R/ h% y/ R
: w; H! s0 f g/* create a logger instance */+ M C2 q z6 S( |. W" I# O0 u
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ @1 e9 g$ ?/ _% Svar loggerBufP = new LoggerBuf.Params();& s" _3 H! v W5 a6 ]2 t H
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */0 w7 j2 D9 t/ u- `5 Y# ^6 @. K
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
; P$ F. J+ y( A
3 x; K w/ R+ O0 X$ v0 @/ y8 Tvar appLogger = LoggerBuf.create(loggerBufP);
, p4 |/ B, N% m& V0 [& z \appLogger.instance.name = "AppLog_Core1";$ x- a0 j& g8 Z' E4 \ M5 x
Defaults.common$.logger = appLogger;
( @, a. J+ V% B: l. _8 aMemory.defaultHeapSize = 0x8192;
: O9 w& c. I0 I& i4 R+ A4 {Idle.idleFxns[0] = "&LEDStatus";
$ `9 _+ V& s- C6 zCache.initSize.l2Size = Cache.L2Size_32K;/ P9 c4 o+ \% B) U* Y
% J3 U- p9 [+ f2 N4 x9 C6 w1 P, p. Z |
|