|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
' L+ g+ U$ H2 G* t/ T$ l我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& P J2 w! A) x. ]
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
. U1 ?. V% [" e/ q. k
+ X z" M" V5 R; n是不是需要在DSP.CFG中进行配置1 q" R H! H3 [1 j' ~/ j: g6 |. l
我现在的配置为
6 ^+ A, j: }3 V( y i3 q/ k+ E6 m- {( ]. p
/*
. |" P( `- ^8 I; }/ b * ======== Operating System Configuration ========
0 w/ y0 L c2 F/ H( V, { */- V: c" _. j- E0 X' b
; E4 B' `/ d2 l& s9 T+ f C
/* no rts heap */
# o: f- B" j! PProgram.heap = 0;& K3 C; m. P1 q0 Z: t- Q/ b; s
Program.argSize = 100; /* minimum size */
- c) T& F; F. P. X& }2 D' _0 `) X. AProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大! `; L; M0 ~7 A" V3 R. X
K/ f- l& U* e; S/* create a default heap */) `: ?" }5 `. F8 }0 g+ `7 E s
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
. u+ l- a7 t; @7 J. S# t; c" Xvar heapMemParams = new HeapMem.Params();. _: E9 P6 S- m% u p
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
: o0 K( @# K4 \. V* f ]& L! {2 o. ]) m. j! X
var Memory = xdc.useModule('xdc.runtime.Memory');
- g' D4 Z$ {" d" I8 oMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
& a B# k3 Q( y
6 c3 s$ L4 e" B/ r/ A7 Q% w+ z/* configure System module */
0 b# E9 {5 S# O" I" X9 |/ Jvar SysMin = xdc.useModule('xdc.runtime.SysMin');
. F& z9 V& l5 c" ~. `SysMin.bufSize = 0x1000;
+ `: i4 F8 S1 f2 P' E* D1 i$ LSysMin.flushAtExit = false;
. q- x0 b' D4 r( Z; R+ K% X2 A2 V
$ ` O% |( Q5 H4 O gvar System = xdc.useModule('xdc.runtime.System');3 K: B% w4 G) K: Q7 F/ S; u
System.SupportProxy = SysMin;& ?6 c2 _/ k* G4 a2 u7 R
; Z3 O) f4 s+ p1 w
/* configure SysBios to use the lower half of Timer 1 */; j/ C4 U$ C( r* S/ h# ?( c
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
' @, J% D4 w" u- ]& ]8 E: Jvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
! b7 m; h' @. t- L3 P9 UTimer.timerSettings[1].master = true;
8 D9 K# E/ Q# O2 ?" |3 {$ h. D7 iTimer.defaultHalf = Timer.Half_LOWER;' ], X$ K; U1 N3 m$ |7 I
Clock.timerId = 1;. @' j4 m( ^4 C! i$ a: m- Z9 ]
H, M, {& r5 k" x% x5 w
; E" |% ^2 x2 @, w W0 I9 Q
/*
/ Y" Y6 B6 ]. a k * ======== Miscellaneous Configuration ========; @2 }. p2 B1 q% I2 v0 L* H; p
*/
- F, i. S/ ~6 G
$ R1 T/ c6 \+ y0 B/* set default diags mask */" Y8 x7 R s# }
var Diags = xdc.useModule('xdc.runtime.Diags');
$ ?9 b% Q# e, d% Uvar Defaults = xdc.useModule('xdc.runtime.Defaults');
6 V1 z) }) c4 ~! l/ k( M1 t# Y% |0 }5 x- {4 m' [
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 P9 V B# c- ]( L% @& tDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
6 j) ?+ I7 r& M' e* g2 uDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; z' G7 f: u6 ^2 oDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */; Z% T/ \' X Q; a( ]" o6 P
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */0 f3 T3 J: | E# q$ z
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
: b4 T( D0 x. b1 }, ~1 B% w- tDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
5 ?$ S0 a% V. T8 zDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
+ x$ ~0 X, F" U' [Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;8 N4 k% b& ?" ^1 b
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& E4 ^) c3 A" S% @2 O) y' BDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;. G/ J2 C3 u/ ]# s/ I; T- @9 O. u8 `
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 H- a) e, K1 O! a9 yDefaults.common$.diags_INFO = Diags.ALWAYS_OFF; x6 I. j- E( \# G1 D! E# u% A
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% G: G: V) p, ~! m: }$ \7 w9 U. q. W
3 @7 C) C' N/ C" N" e2 ~/* override diags mask for selected modules */$ i% N; \6 _9 Y7 A1 }
xdc.useModule('xdc.runtime.Main');' Y& j: d) ?! O1 |0 }' u
Diags.setMaskMeta(/ t! A( p3 V' w o' ~
"xdc.runtime.Main",
/ v! U- V4 Z# A& B$ c Diags.ENTRY | Diags.EXIT | Diags.INFO,, M3 p; v- ?* T- x, h" U0 ?9 D
Diags.RUNTIME_ON1 v. p, I ]6 P2 T' u) J: J, ]
);
. T3 w1 d. h) D% I; |. X ]! d
! m) Z$ \- c: ^: ivar Registry = xdc.useModule('xdc.runtime.Registry');6 T* T6 x( N) d3 }+ W" N
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
% {* G8 q H3 r" j2 h& C0 ORegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
7 A% L; P2 T4 l% LRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
7 W$ K3 u B( H( yRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 s# C. \0 ]9 w5 E; H( s" r2 }. V0 K+ S! U
/* create a logger instance */
# z& ^" O& A4 H( Q% x* _var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');! |3 ~8 D( e+ n0 {" y/ D4 Y
var loggerBufP = new LoggerBuf.Params();
$ L! E0 \) `5 ?+ F4 WloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */* v; B( g0 S: X
loggerBufP.bufType = LoggerBuf.BufType_FIXED;3 s' S/ l) b1 W1 D; \
2 y9 n2 x- @9 A* V1 M" E
var appLogger = LoggerBuf.create(loggerBufP);, r- b1 @3 l9 q: v
appLogger.instance.name = "AppLog_Core1";
$ U" \- M( b, v2 u9 {Defaults.common$.logger = appLogger;
$ Y" c% u; y; D" Y9 T2 DMemory.defaultHeapSize = 0x8192; % p6 B0 c7 c' N+ r5 A
Idle.idleFxns[0] = "&LEDStatus";: q5 w2 G5 t# k0 q# ~* w ]
Cache.initSize.l2Size = Cache.L2Size_32K;0 |4 I5 [4 G. y" s. L3 t# Y
+ p) i5 ]7 e! [8 ^7 T7 u( S |
|