|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
) A8 g, r/ N7 h# u2 X我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' i$ t2 F- }3 K# M$ f" S9 `* T0 g6 g(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
2 B `3 t: g: A0 C1 R) A
7 g) h- A% b$ x是不是需要在DSP.CFG中进行配置# g: z6 k1 [2 \$ R1 Q% N" Y
我现在的配置为2 F3 {- ]3 h4 B( }+ w
; B# Y' R6 K7 y z/*& H X/ b8 g) T4 E
* ======== Operating System Configuration ========
3 O& e# P K0 Z */; v+ F5 r7 W1 o
0 \) ^- R g& Z
/* no rts heap */
6 j/ a% P5 V6 `: ?: AProgram.heap = 0;
' W; `" r$ ?1 F ]. |% K! b3 bProgram.argSize = 100; /* minimum size */# x8 V, s4 Q: w% U
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
: ~: P# S' n! R f) k7 a& S& x7 ~0 N6 ^+ L. P% n* O/ C+ H
/* create a default heap */0 H* t2 N! t0 @: ?7 s
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
/ U& d6 s. b* r. ]( xvar heapMemParams = new HeapMem.Params();' b2 G* r$ J6 E) r; H
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) t$ L; i) J2 j& r6 _
% p4 \6 @% l3 x4 Q. j! L4 Y
var Memory = xdc.useModule('xdc.runtime.Memory');
) |% _# h( ~% Y# [, h" y: aMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
/ v* Q% [- ]8 M) K9 r2 h- t
0 K! j5 f/ X- K$ M2 L/* configure System module */
) U) ~0 ~# f3 j$ G6 c/ Ivar SysMin = xdc.useModule('xdc.runtime.SysMin');. i8 }2 S" ^" @) Z) e
SysMin.bufSize = 0x1000;5 {& U8 [0 q7 I! P/ Z2 U; M
SysMin.flushAtExit = false;7 A2 d, c/ m* i4 u. h7 i1 P
2 D7 a3 F5 m$ H( z: k! ^var System = xdc.useModule('xdc.runtime.System');1 g+ y4 Z" b( u
System.SupportProxy = SysMin;
9 X8 |0 [# n A) j- a
; k, n+ U6 K$ W- C/* configure SysBios to use the lower half of Timer 1 */% X' n' L4 M6 m! ]" P. {4 V) K
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ S. j9 ?9 k% P5 C8 Avar Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 Z9 O# H( C- v2 O- S, NTimer.timerSettings[1].master = true;( f5 a$ C. n2 R7 b& `
Timer.defaultHalf = Timer.Half_LOWER;
6 F2 A, P6 }0 P8 I0 pClock.timerId = 1;* z% G6 y, \+ ] W" W) e
; K3 B+ M7 u3 p% N& _9 D; p' J" e/ R$ t* ~. l. o
/*
6 N: H$ k- G+ ~6 u4 n * ======== Miscellaneous Configuration ========
/ [& M! g+ l4 S; [4 C4 w */
* I% l4 P+ L b/ C, L
7 r) @. {- g6 n8 E4 c# m; C, x/* set default diags mask */
2 v3 d: x; K# z: S4 z9 @5 lvar Diags = xdc.useModule('xdc.runtime.Diags');
( ~3 |% _: P5 T: }3 Pvar Defaults = xdc.useModule('xdc.runtime.Defaults');
; ?0 c8 D6 y0 L4 i; o9 B1 H! q6 ?. G& C) W
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
/ C2 r. i i7 _) J0 \. s8 V' VDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 L/ u9 H2 j T! E5 m$ u, v
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
# Y0 `5 C9 b+ M. HDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 ~% ~, k1 p: B W( ?
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
# ~6 h0 G: l4 |) o2 gDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;' i" G- Z$ m, r1 h
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' o0 I9 k! `- |! ^& s$ [Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;) k i8 P7 p1 ~. J% A4 S
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* ]7 a: R$ F2 C+ A; X4 O/ _3 FDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;, w) k0 n @; K: O) i o
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 E1 X; w L9 v' WDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
. j2 A9 K# U/ O9 c' HDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 h- i: p+ G2 Z9 l9 W( m. [& \. A
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; |: N5 s: n7 i* s9 H# B
6 N5 F6 n! w* }' N. H; o# P; w
/* override diags mask for selected modules */
; o w4 ^1 Z% {xdc.useModule('xdc.runtime.Main');9 E' l* ~9 c; ]' x+ S( y' w' ^
Diags.setMaskMeta(
' f* i1 i& ^% T0 L "xdc.runtime.Main",
8 i2 J9 t0 [& N J n' p Diags.ENTRY | Diags.EXIT | Diags.INFO,9 \6 D$ N" P5 v0 ~+ }
Diags.RUNTIME_ON; q Q2 B5 {, F3 a
);
2 B$ L9 R8 B T' x) M/ x Q# g B, \/ ~
var Registry = xdc.useModule('xdc.runtime.Registry');0 P% q6 @6 M6 M4 H- z3 n: n
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ n' c; X3 A; B$ d( P
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 R3 l m8 d% U1 x; lRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;& W6 ~+ Q! E+ D) \/ K/ l
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
$ B( t$ G1 u: O5 K
' F1 ~( u% P1 Z( z; m/* create a logger instance */1 _& A9 ~1 U7 |+ Z
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');; \ }( u+ P8 v
var loggerBufP = new LoggerBuf.Params();. v. _9 o4 P% d( N$ S
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
' \5 C! ?$ J. R- DloggerBufP.bufType = LoggerBuf.BufType_FIXED;
% ?4 U$ J+ N5 r, ]/ ?0 V
; D$ |' a; `$ `; c( Zvar appLogger = LoggerBuf.create(loggerBufP);" f# a! }( d; E4 ^0 }
appLogger.instance.name = "AppLog_Core1";
7 U2 h8 D/ t) Z4 q" f9 T3 O! Y. jDefaults.common$.logger = appLogger;
& l$ I: s* F2 x G( C3 D# C% k; u, ]4 SMemory.defaultHeapSize = 0x8192; 8 M6 i" o' i* {% P" ]
Idle.idleFxns[0] = "&LEDStatus";6 D' Z; ]' ?0 s1 i
Cache.initSize.l2Size = Cache.L2Size_32K;5 w! x+ ~: Y9 R: a6 n% }
9 x; I9 Y' ]" ^- Q$ C3 |6 z% ]( K2 p( A |
|