|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
$ V: t; P, d. V l+ e3 M我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
0 l! z5 y9 K1 u2 l7 q2 {* u- [( c(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
" Q; D: O8 ^' {/ C: y4 E' k8 B% g1 u
是不是需要在DSP.CFG中进行配置: E- G2 X% O |8 m3 f
我现在的配置为6 t3 A( `9 [! O0 f
1 w3 O! _9 S; R2 ^% I. o# {/*" W' F3 i& b0 K$ ^& i6 |" |
* ======== Operating System Configuration ========- E" }0 j& W5 |3 i; k" j
*/
# ^, S5 i4 h6 N" B+ ?5 U
' _. p0 S9 R! D' B4 T- x/* no rts heap */9 W7 P4 b! s; p5 z1 H0 O
Program.heap = 0;
# y; Y% i1 l2 q2 I% w8 WProgram.argSize = 100; /* minimum size */% g' Q( ?' f4 m6 F( r% \( E
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 g" u! p; T) n! [$ g9 a. B4 ]% ?: Z% y4 ?% `
/* create a default heap */% [1 I1 J: l' { i# Y
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');; A k0 F% ?' Z! Y1 t5 y( a" B* R {
var heapMemParams = new HeapMem.Params();
3 b; u8 M% G: d' jheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
) _5 G: ^- o- H; }+ t& E/ @
+ N5 N2 o8 d& d* C) B- ^6 M" kvar Memory = xdc.useModule('xdc.runtime.Memory');% ]/ K. `0 A. w0 J/ S
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
: Y D4 K. V) c4 G
# B1 O. J) D/ ^/* configure System module */
! O' N. o5 [4 d+ K3 O Gvar SysMin = xdc.useModule('xdc.runtime.SysMin');8 n5 j7 @; ]6 j) B4 M g8 i
SysMin.bufSize = 0x1000;- a+ w0 H" k- ?. \. x& a( J' h. `2 E
SysMin.flushAtExit = false;4 i$ B; ~; G1 J
g& Q: e1 w6 r( i% V K$ i
var System = xdc.useModule('xdc.runtime.System');
# V, O Z: J& E9 l& h7 ~2 ]7 zSystem.SupportProxy = SysMin;% J8 R3 B: A4 i6 O' P
! G# u4 w% ~( \) F/* configure SysBios to use the lower half of Timer 1 */! @+ j& e/ x3 F' {! f
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');; N' o( a) W$ Z; i6 f# }; T3 W% Y
var Clock = xdc.useModule('ti.sysbios.knl.Clock'); U* W6 g3 i J( w
Timer.timerSettings[1].master = true;
V# D0 L0 k& y" t0 nTimer.defaultHalf = Timer.Half_LOWER;6 A0 H: _3 S- D3 M+ m: c
Clock.timerId = 1;
% [1 W0 j! i. N |8 k9 x& ^2 @# W8 O2 y+ B, U& c0 ]1 I7 B: h1 H
3 n$ i1 x6 S, y- [9 P7 Q/*6 c4 U: l8 c- [6 Z
* ======== Miscellaneous Configuration ========
1 s! o5 ~' c5 o: h */
B2 ?8 W( {# J. x2 q4 a( P# k8 n1 J" g. u% D- q- r
/* set default diags mask */ i8 E$ Y! s9 S- }, L9 ?. @8 z
var Diags = xdc.useModule('xdc.runtime.Diags');
4 n- H9 }' d) S" s+ R9 m' `4 Uvar Defaults = xdc.useModule('xdc.runtime.Defaults');
: k% u% i, e; }/ m* k
& X+ a0 B$ q W) l( _. xDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* S' k2 d9 |- z9 f) A3 wDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;. O9 U; t6 ?9 Q1 R5 T/ x
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
! z8 L) B4 O5 l4 ?0 fDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */! V6 w6 n% G' M
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% J; z7 l; z0 Y+ T- _) O6 W
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
: R) Z7 i7 p% w4 TDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 c2 y [5 _" \: A* fDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
% ?" U$ N% _8 i8 M. }3 a$ uDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
4 Q# s) [9 `; yDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 W. Z: k% w% ~
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! P) ?; S% j' XDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;" V4 Z6 v$ b+ @5 _: h/ C1 _" `
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;% _4 s5 X, C$ D8 Y- i
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
4 H. s1 {4 n& s$ p" W# G, N9 [9 F* h
/* override diags mask for selected modules */
' j1 R7 k/ a( ?" z/ T" m: jxdc.useModule('xdc.runtime.Main');6 l$ e6 K! z8 B H+ d8 \& k
Diags.setMaskMeta(1 d2 N. G& f$ _% {
"xdc.runtime.Main",% q# N' ], R2 |% |9 v
Diags.ENTRY | Diags.EXIT | Diags.INFO,- S( M" B9 \, E2 I! }! V, V
Diags.RUNTIME_ON& O: W% k. s' _1 r& @6 e9 i
);& T2 J6 m! E8 T( ?- t: [1 K
3 C8 h( u6 L8 {0 V3 h# A* R( nvar Registry = xdc.useModule('xdc.runtime.Registry');9 U1 n( ^) K; w n$ i
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;% E& s2 ^+ C1 Y1 Z; {2 B* k4 p$ `
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
3 u+ F7 p( h, E' H2 wRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
4 H5 f; X: p1 O7 I, e k5 T4 o6 ^Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
" E' p6 O* j. Q0 `% ]
6 M# K7 @) L+ D- X# Y3 P. w; t* F/* create a logger instance */
* W4 K- ]6 s& j3 d" k0 b8 \var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) n& y. h* t. j, cvar loggerBufP = new LoggerBuf.Params();
+ Z/ y8 N% B v* dloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */9 d2 N! H5 E3 s4 O2 D6 f+ p
loggerBufP.bufType = LoggerBuf.BufType_FIXED;# i! p" B+ D; j; K
; \- E' A5 r) Z w: _. avar appLogger = LoggerBuf.create(loggerBufP);
6 V+ J2 J; ~4 X7 F8 aappLogger.instance.name = "AppLog_Core1";
. h% @& s+ ^5 b6 C1 o3 b% w7 zDefaults.common$.logger = appLogger;1 y3 d% t: N# N- t9 R
Memory.defaultHeapSize = 0x8192;
6 F6 T- l: F' m m8 M/ R5 RIdle.idleFxns[0] = "&LEDStatus";- F# w1 K7 d0 ^- M( m9 x
Cache.initSize.l2Size = Cache.L2Size_32K;
, J+ o; S0 ~6 d! ]* g: w, s8 t) d& ?7 x
|
|