|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* U1 \! s& x+ k+ }; d* _! \- c/ }
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! [. _, V9 A" Q$ I6 ^
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ N1 D8 N6 z8 h* z$ A N
( C6 j, n, R, U4 {9 a! ^$ a/ ?
是不是需要在DSP.CFG中进行配置( E0 ]# v- E+ ]9 d/ z# e: O$ a9 \
我现在的配置为
$ B( u" Q! U' e0 p- K6 q
, @ m; o* j E) |, Q/*) g1 N0 ~5 o9 P
* ======== Operating System Configuration ========$ N3 K1 K- u) n- Q& p$ X
*/
( `/ q) F0 M! w" I3 O' S' ] R c% [# h6 J; G- n
/* no rts heap */0 M0 B+ {& K0 Y5 A
Program.heap = 0;
+ _1 m1 }9 r- J; f4 v$ W( dProgram.argSize = 100; /* minimum size */& e0 X8 P1 ~# E
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 r. Q1 \ p# e6 {( }/ Q
+ f/ Q$ T9 A. G4 f3 U) g' d
/* create a default heap */% v$ |6 s2 U0 A+ l- |
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 a) p) g+ _( }
var heapMemParams = new HeapMem.Params();/ v% i# s# Y# E0 p
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大3 t+ h/ S- a! t' L- u
) G0 H" D. q/ {9 {
var Memory = xdc.useModule('xdc.runtime.Memory');! S2 K; s5 r" O! A# o% ?) [
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);# Y) m2 s6 i: l% n3 G r4 f0 z& T
0 C& T3 p. @+ J0 {2 x
/* configure System module */
; W7 x- K$ D! U' evar SysMin = xdc.useModule('xdc.runtime.SysMin');( |- z: ^2 v. D, Q# {& d
SysMin.bufSize = 0x1000;
; Y3 D9 Q$ G5 L) r$ c# L, XSysMin.flushAtExit = false;5 ^& o \3 Z4 o9 R4 u( E
+ m9 T% T# q! W% a2 v* R& k
var System = xdc.useModule('xdc.runtime.System');/ R0 b* @2 S" Q
System.SupportProxy = SysMin;
; m+ x: [0 Q- x; |" ]8 Y% K
7 }2 N; ^5 S. U0 v1 G- E/* configure SysBios to use the lower half of Timer 1 */
r" f' w; N L% L( Vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* U9 [; Z0 O6 C$ U% hvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
7 _$ R/ r8 V, t% v$ dTimer.timerSettings[1].master = true;$ Q, U6 I# H' ^7 v; a, k
Timer.defaultHalf = Timer.Half_LOWER;
) m! C @, S" v& m) L4 W! K6 QClock.timerId = 1;
1 C" X- o. x+ a( J' l5 z( [, r9 _; c {5 L3 e. o; _
+ w* `* x. z' R# h9 X- \/*
. T4 j* G" u. G) c2 n% ~( T * ======== Miscellaneous Configuration ========. N% Y6 @8 ~5 G& q
*/6 w4 |$ b S; M; N$ Y2 B
1 S3 P+ r3 R, w4 r/* set default diags mask */
6 |9 j6 x- ]8 B/ _5 ovar Diags = xdc.useModule('xdc.runtime.Diags');
* c, ] E! O: zvar Defaults = xdc.useModule('xdc.runtime.Defaults');
9 q" \6 @8 B9 L% r9 i E/ _( a4 g2 F0 Z+ `7 O
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 w3 s( u3 L: n8 K
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;" p- s, Z$ L. K% ?+ J
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
?9 P. N/ N7 y; @: W; N* `( yDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 x8 s D: o3 c: @5 `) c& aDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! H5 M4 B" h6 L* E' Q! WDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;5 x: v: h/ \# K. ?
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;( @" E Y% w0 X: Z& @+ A
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;! w$ C4 _ r4 Q; Y& {& V% y& K
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
- J; L, O$ [$ y* u7 z* \Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
* N" D" Y+ d! s. P C- `. h2 bDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
: }6 h: q$ ?7 `- H" _+ [Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;* B. w- d) _& W# ?0 ~
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; T) B- }. o' \" cDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;$ Y; I( X |4 g4 ?
! A! S( F. f% ~ M# g9 S0 |7 u/* override diags mask for selected modules */
$ v* x5 ^# y" p4 K" Xxdc.useModule('xdc.runtime.Main');
1 U6 X9 N* S \! Y4 pDiags.setMaskMeta(
) W! a9 M) ^/ V9 L9 {0 u& @4 H, @" u "xdc.runtime.Main",7 \) n/ x2 t: r/ F
Diags.ENTRY | Diags.EXIT | Diags.INFO,* U. r" D/ j9 [! |
Diags.RUNTIME_ON
. y- Z3 K, Z, u c);
. e+ K6 _8 n- K$ J
8 O1 \- ^$ ^& M$ |& |9 f' ivar Registry = xdc.useModule('xdc.runtime.Registry');
! U: d8 s v( `) jRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ h( z: H* ?* i2 A) Y m$ w
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
$ r7 K" R( f3 [. Q/ ARegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
1 @' j5 g: T C3 ]" n" f! e6 {Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 y8 \' \ p7 x
! j# D/ F1 i1 k
/* create a logger instance */
' t. s0 i! z; D1 ?% k* Gvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
N% p. N9 v0 C# l8 @var loggerBufP = new LoggerBuf.Params();8 b2 _: _- C, v2 L n/ {
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */1 C) a( n" V$ X/ \: w" a* B) f% a
loggerBufP.bufType = LoggerBuf.BufType_FIXED;4 j* _% Q) }0 }5 K! t. D7 a. `2 G
" C0 S! ]/ O6 I7 k8 i. b* I2 zvar appLogger = LoggerBuf.create(loggerBufP);* c9 H' z1 u' d
appLogger.instance.name = "AppLog_Core1";4 D- j& I: ?2 b# K% [7 @
Defaults.common$.logger = appLogger;9 z9 P$ l$ P+ z
Memory.defaultHeapSize = 0x8192;
^$ s$ m, l% p- ^$ G! KIdle.idleFxns[0] = "&LEDStatus";
$ L) z5 j! H$ X9 I8 JCache.initSize.l2Size = Cache.L2Size_32K;) j0 d2 r0 N: b; w8 A
+ G0 @# d4 z& j9 c9 r. l
|
|