|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明- W$ Z& R$ Y# R$ l: h3 \
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
" x. @% c: }& y6 D$ Y(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
( j) t p( G( `# p( a" U$ N
' X; n2 `% W$ i7 l' W1 P" ?! o8 Q: }是不是需要在DSP.CFG中进行配置9 `* W, p3 ^0 @; w( e! q. U* x4 Y2 w
我现在的配置为# [) v6 }; j# `8 L; A; Q% z8 z# ^0 ~
7 _. t9 {$ G E
/*
! E; U& F6 l6 m& }& n1 b5 t- M- y1 t * ======== Operating System Configuration ========" A9 ^0 E/ D9 h6 F
*/, f) U' Z' g: b' o" b3 c
# \1 n( z- ?; a' o% K$ e
/* no rts heap */
1 w x8 H. k E4 F7 l. ?( JProgram.heap = 0;8 @* n( _: r' f& L
Program.argSize = 100; /* minimum size */3 T" f3 q, W9 u% Z* `
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大( p) q$ a4 S0 m$ k! h5 j
9 D7 w F( Z4 B7 N7 ~2 ~% b/* create a default heap */
1 \/ t5 K2 r; |" g5 u* q) Z) fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 y$ \, w, y5 M3 p) ?var heapMemParams = new HeapMem.Params();
/ h( p& N) `: f6 S! d2 gheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大 H; c: H" U5 u7 c1 R; n- b& }
' w7 ]0 K) t( Gvar Memory = xdc.useModule('xdc.runtime.Memory');0 ~4 v* l: T1 [2 e
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);! G4 b: E. y# q# v- C" b- _
, t+ L3 p2 j( j' S- a4 o, U+ C/* configure System module */
) H4 ^3 o5 e, \& l3 _# x1 Tvar SysMin = xdc.useModule('xdc.runtime.SysMin');. W2 Q- r& [" X. u, k0 O
SysMin.bufSize = 0x1000;, u9 ? z9 R8 \+ N1 v) Q. k
SysMin.flushAtExit = false;
, t- Z1 |' }* j4 D! q
0 @2 b. i. D; R" ^4 [var System = xdc.useModule('xdc.runtime.System');9 Y1 I- Y8 B4 ^1 X! u/ u- N4 f0 S
System.SupportProxy = SysMin;
8 C+ `# s. P9 w0 ^- C: T& }- _5 I) ^
D A7 G& J) A* `/* configure SysBios to use the lower half of Timer 1 */( C" \7 H; V0 S$ ~% F9 E+ ^/ ^
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');! X! g2 V; B9 T& e
var Clock = xdc.useModule('ti.sysbios.knl.Clock');" N' H& I. \/ |& K
Timer.timerSettings[1].master = true;
5 ?$ W& `/ \5 M* d$ nTimer.defaultHalf = Timer.Half_LOWER;" o4 A: _8 G. _
Clock.timerId = 1;
. _& j s. J1 J! f0 o2 i& ~ i9 I6 \' S: r2 @
1 P( `2 x0 M: N' m; k
/*% X9 t+ b$ ?3 f4 Q1 p$ Y3 l- G! S
* ======== Miscellaneous Configuration ========+ e9 l3 G% k( Z4 J$ d# M$ E
*/9 C/ t3 }+ @) F3 |+ Y2 |
3 @8 ]4 \0 [5 a/ J8 {/* set default diags mask */# U6 H' g% W- o) C) K
var Diags = xdc.useModule('xdc.runtime.Diags');) f% W( b( _2 k* ~9 p
var Defaults = xdc.useModule('xdc.runtime.Defaults');2 s6 p& O! ~# u1 S5 f7 l, ?/ i( O3 M
( ?- K# c$ g/ H/ M" W
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
7 [* T( h. C9 f( \2 T( SDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;5 h& u+ q3 \1 D
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;9 F, J, l- N# v! ?- J
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
" z/ n2 C. W& D/ A _$ ]+ PDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
, N1 Z1 ~ A6 i XDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;& x4 ^, h" h9 f" {
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
$ m1 |0 J8 I7 xDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
3 O- c. {" ~8 f& yDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;& f% e/ g& n2 b _1 N
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
" U, K) P+ X, Q9 o' r8 TDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;4 s6 r( x7 R9 x9 F: e' u# G0 o: }
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
, p* G X/ B n) s' v) ]! O" ?+ pDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
0 y9 v6 U9 }8 D q0 v! A: vDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;6 t8 G0 |% y# _3 O1 I
$ }8 I( [2 A# ~
/* override diags mask for selected modules */2 h) u, B8 n6 D9 n5 o& T+ \
xdc.useModule('xdc.runtime.Main');
$ I V/ X/ {. O# n8 XDiags.setMaskMeta(
# \( z+ @3 Q7 U8 {0 b ] "xdc.runtime.Main",
1 K V' {' Q. ]" U. `( V Diags.ENTRY | Diags.EXIT | Diags.INFO,
; I3 L! v7 U8 u: Y Diags.RUNTIME_ON' J/ f2 ~4 @; R, H( f% P' T
);
1 h" @3 M& G! r& W4 Z3 Z( ^) ~) M3 i6 J& h" k" V: B1 ?( m( C$ d' F
var Registry = xdc.useModule('xdc.runtime.Registry');
) a! f$ z3 X9 x( Y5 ^3 b9 SRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
" k z% a/ \( v4 S; W# x' y1 tRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;0 z _. a, G/ v3 _; |: c) V* D
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;' S/ | z2 ]+ N- U5 |
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. @( C& i1 ^! n- f9 t U' J/ F( R# z. r b' K8 a6 Z
/* create a logger instance */
# B; ~; ^% z* q+ C$ r2 @var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 I2 w! w' H8 mvar loggerBufP = new LoggerBuf.Params();/ B& r4 t+ r7 ^( `
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 A# P/ W; { ]0 ~$ p, e; h
loggerBufP.bufType = LoggerBuf.BufType_FIXED;; O; z0 K2 m: Z0 c2 t8 G' ~
2 C" o& r7 g& x6 t
var appLogger = LoggerBuf.create(loggerBufP);
7 K3 M0 L' F7 L8 r, qappLogger.instance.name = "AppLog_Core1";6 x2 H) r7 D v/ L: G3 z$ }% k5 x, v
Defaults.common$.logger = appLogger;. {) o$ a5 |' i) t
Memory.defaultHeapSize = 0x8192; ( H1 u' F; I7 u
Idle.idleFxns[0] = "&LEDStatus";; {0 u' ?, [6 J
Cache.initSize.l2Size = Cache.L2Size_32K;
( Q. V: `6 m, P0 B2 S2 z7 o/ r% u \) ]% [) @# l4 U
|
|