|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# v0 [, s. I p1 y' N8 P6 S我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 Q2 e/ t4 d4 ?& J/ y(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
$ G9 |- p* X. g# a! T) @* h+ c" r# |2 H+ L
是不是需要在DSP.CFG中进行配置4 d9 I, B( C1 Q( V `9 V
我现在的配置为8 d+ L/ n$ v8 L. T7 E$ O* L
/ p) E, J5 v- b- d; [/ |7 y, ^
/*
5 d+ U7 v- C/ a8 w: H8 { * ======== Operating System Configuration ========. ?* t4 l2 C# P: @. ]
*/
) i$ P, y h' l. c3 o8 D
) i/ g( v, c* [6 z2 m/ G/* no rts heap */! T% `6 o5 r3 x- I9 ]: {
Program.heap = 0;2 u6 a: ] S. f' q- P
Program.argSize = 100; /* minimum size */; }' D3 ~, Y: H. D
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大/ T6 C+ i/ {" b
6 g7 A& S9 v* U w/* create a default heap */& h' g, o; D; [. m @4 K
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 F0 F9 n Z- `9 @# W- m
var heapMemParams = new HeapMem.Params();
, j3 }0 k3 e5 R& eheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ d, h4 J5 c* w6 _) [# m
: u5 v8 Z7 ~' J4 x5 e9 _' svar Memory = xdc.useModule('xdc.runtime.Memory');" @( S0 J: \, g ?9 i+ R M1 k
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
1 O) i: b6 D% U9 B! Q* N/ c' U* X3 ?% K2 G5 \% d
/* configure System module */
! K- f6 R% D* u1 ^2 c% ?var SysMin = xdc.useModule('xdc.runtime.SysMin');) ^, K+ S! W* \; d
SysMin.bufSize = 0x1000;
5 r3 m( U( ]1 ?: J5 _, p& b' m* A2 bSysMin.flushAtExit = false;
+ k: F+ B* k' \; c
1 A2 a2 {0 U! E" Y# yvar System = xdc.useModule('xdc.runtime.System');* N$ \- V/ Q! e% q1 V- J
System.SupportProxy = SysMin;
# t; K) V/ J M' K0 s% f$ x A0 M' k' R6 J! E3 m8 h, x3 d& C$ _$ I
/* configure SysBios to use the lower half of Timer 1 *// u4 R' n7 A- V9 o: ]# i
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
Y, P. e4 e8 W. s! b8 Ovar Clock = xdc.useModule('ti.sysbios.knl.Clock');
V2 R1 e# Z' Y* W# E# iTimer.timerSettings[1].master = true;
6 g. }6 h8 f. C, `* p7 C) eTimer.defaultHalf = Timer.Half_LOWER;0 f, m5 e. q0 E& n/ p# i/ \
Clock.timerId = 1;/ x" g: a* i; f0 m
2 t; n2 O6 j/ A" H) c; e) j( W; t* Q
% H/ {; o+ j, O4 S
/*
- A& y) y9 ]5 v! N9 S. Z6 R * ======== Miscellaneous Configuration ======== T4 R. ]- }: ~
*/
5 h, a ^9 ^! O. K# m
* Z6 J2 B8 m7 P/* set default diags mask */" u4 a5 X! E4 D6 z1 D0 r8 s
var Diags = xdc.useModule('xdc.runtime.Diags');( n& ? W" C3 W, y$ i# M
var Defaults = xdc.useModule('xdc.runtime.Defaults');* ]' W& E5 i4 `: A8 _0 \0 [! Q! f0 X
* O( X' c4 Q4 ]3 }8 \
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: C! K: P0 G8 _( L' {( H
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
! \. h* p2 x3 N' J4 s' d. H0 h0 fDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;+ T1 L: U- X6 B) H0 A; B" Q% b2 j! R' Q
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
3 |' d( J1 V4 Z6 f. DDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- p' T% `, u# @# F, i* N1 `Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 A; s+ w: l0 D9 L4 vDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
4 A- H5 Z0 _3 |! [: L, aDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;6 o `5 o3 S" d; _3 P- {6 y
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;" I* A# _6 m1 N$ k
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
# k# Q! V# ^$ u$ R. c6 ^Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;: v, Z0 |) w4 I8 ^' p4 W4 d2 o
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
- Z- G# M3 A; {Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
' P& N ~* P" O+ u$ }Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
8 H* Z- y% p+ G& } G5 {1 F
- \: P6 M) K! F2 _; x7 r/* override diags mask for selected modules */
2 [% V* j2 U6 F& `, C% Jxdc.useModule('xdc.runtime.Main');/ S6 H6 U- u8 r5 @
Diags.setMaskMeta(9 P \# v, S; o9 N# u, b
"xdc.runtime.Main",+ Y7 \9 b4 h$ Z* d3 N* ^$ F
Diags.ENTRY | Diags.EXIT | Diags.INFO,
% }* h ]. e# t9 w( _, Z" D5 Q Diags.RUNTIME_ON
- E/ P# B* F9 c' E5 g4 @);
! ^0 E. G1 `/ z& K% \+ G K5 y7 A6 V% m8 C
var Registry = xdc.useModule('xdc.runtime.Registry');) E! U. H$ W7 K
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
/ a. E0 @/ O5 t' r% c9 I' wRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 s/ g4 d' L+ s& c z4 S& N
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
3 R9 k3 I4 }8 ?: e5 fRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
2 v# c" \2 r! _0 @* X6 B2 L5 G1 B0 M0 v- m, X
/* create a logger instance */
5 D, q; f7 W/ q5 A6 A5 t* ~var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
7 M" t/ s# o% Qvar loggerBufP = new LoggerBuf.Params();
; f( k: m) ]) M# U% [loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- ?: N! s% z) Y8 z, G, k& ?
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
$ y3 D) [- Q9 }0 r* S: d
, D9 o& a2 _* O' Gvar appLogger = LoggerBuf.create(loggerBufP);3 n7 i8 r: p0 `! l4 R
appLogger.instance.name = "AppLog_Core1";
. h4 R( u/ B7 r" ]3 O5 QDefaults.common$.logger = appLogger;" A, U; m2 ?; p4 {' l
Memory.defaultHeapSize = 0x8192; 4 N, f' b- s: u1 _
Idle.idleFxns[0] = "&LEDStatus";
$ W8 F8 V; V2 ~$ RCache.initSize.l2Size = Cache.L2Size_32K;
* c# |9 l0 l0 l4 u. e- g+ I
; i6 L, H3 Q7 p; T |
|