|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
6 x: w0 D' @" L: O( M我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
0 q' [/ |" h9 p* u(不过疑惑的是,为何单独DSP仿真就没有问题呢?)# t3 n1 F. ^9 g3 `& B
% m3 e. n, n, e是不是需要在DSP.CFG中进行配置0 ^1 P8 O; G* s y1 O9 Z
我现在的配置为3 p2 z5 h7 Z/ F2 e, H
! r# B, {2 W9 S+ W6 d( b/*
" w" d. f" U% q0 _. \5 s& H * ======== Operating System Configuration ========
: Y, I. w8 ~: ]1 L1 C6 Y0 ` */
+ r3 ~ W: _& ?3 r H0 \* Y% I) J5 ^. y. @2 Y
/* no rts heap */
+ t# V F+ Z& PProgram.heap = 0;. b; b& q$ b- ` \4 v7 v/ I) u. V
Program.argSize = 100; /* minimum size */
5 B7 R1 J, q7 s/ y7 a% s5 @5 eProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
) H+ H/ }6 q% w- g( g
$ i. ~) Y6 p/ X0 n& R* P5 Z/* create a default heap */- G* v5 S. U4 D
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');: M' ?. v5 Q' ~1 T+ m, U4 U ^
var heapMemParams = new HeapMem.Params();
, X [8 T! K( G4 R) ]heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
) B4 n! n @2 B" `& d" _- o6 O( c
var Memory = xdc.useModule('xdc.runtime.Memory');* ]& t1 p* v; @/ S! F
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
. V N. f1 }" M9 @* m6 E2 H& Y& L& J
/* configure System module */
9 ^: w6 K% ]; }+ O" M3 evar SysMin = xdc.useModule('xdc.runtime.SysMin');
6 I Z, m) U. U0 aSysMin.bufSize = 0x1000;
; Y4 g. I3 b6 m$ T- m- J. h NSysMin.flushAtExit = false;
' s! y9 z( V' {& o. o% p
* t) |4 _7 O7 w: G# qvar System = xdc.useModule('xdc.runtime.System');: V$ k$ W4 E7 ~1 n, h! R
System.SupportProxy = SysMin;1 W1 A3 F9 q1 R: C q$ i2 X
S' [1 o' z- u
/* configure SysBios to use the lower half of Timer 1 */
9 c) j# u$ J& u8 X" \& kvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ c3 p5 ]; i/ v& _var Clock = xdc.useModule('ti.sysbios.knl.Clock');
7 D9 Q9 F: G! |8 ?& B; d5 ATimer.timerSettings[1].master = true;
* l6 m( _( o$ i6 i( u u9 PTimer.defaultHalf = Timer.Half_LOWER;8 f; w$ ^$ P4 }8 \9 l: R; s
Clock.timerId = 1;0 a( y+ }) V; T' P x, i
& N8 z2 P, d: F8 ^: r# o, ]7 n# L
, X# ^- C5 a @) B) L% I$ T/*; x- z" X8 L6 J0 N2 U* X
* ======== Miscellaneous Configuration ========
8 H/ j0 L. M% N3 y8 T" f0 R" r */
: V' U! \( G( ~% y! v$ O5 G+ R
/* set default diags mask */+ s7 W6 z5 ~: Z
var Diags = xdc.useModule('xdc.runtime.Diags');1 i1 Y& b3 B! A& O
var Defaults = xdc.useModule('xdc.runtime.Defaults');
_9 L, x& j6 H, H/ D. C2 S7 P! ^6 ]7 S3 W" w
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF; e+ d2 g- X8 K$ c2 ~
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& |; [; E$ F6 x; ~8 p
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
0 Z* G2 u# O. |Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
" {% D& @& n9 D" V: TDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- T; f K; z; gDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;$ N, s: _! s, ~ v. s2 Y
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
: k* g5 w! U+ u) }Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
! `/ D9 I( k7 f& q% F( k- N; R# hDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;& ?8 L; t% N+ K0 y
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
. c: o( b5 i( g5 i; v @Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;& g2 c' {" H* j0 z5 v
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 e: \( o7 h/ i# w) BDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& A1 ~9 q: e. G' V; HDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;' p: L+ Z0 y+ M: ~& v
( n0 [' o: F5 i0 Y: Q0 l, @3 n
/* override diags mask for selected modules */: a( S! I2 X/ S% g
xdc.useModule('xdc.runtime.Main');
+ b" c3 A) W5 G5 U' NDiags.setMaskMeta(
* z- C' B0 J. Q; t9 k "xdc.runtime.Main",
) h. W! v) \6 y Diags.ENTRY | Diags.EXIT | Diags.INFO,
- r- A Z4 R, W% G0 P1 L. h8 U3 g Diags.RUNTIME_ON( @& u+ M# h5 w4 x
);
1 D" F7 y6 R. ~3 |: N
# ?3 V! K f$ p/ M1 M) k& s+ Uvar Registry = xdc.useModule('xdc.runtime.Registry');9 H+ Z0 m* w8 s, z0 G( {
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
+ Y' ~2 T6 W5 A# ^3 nRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
4 a q/ G: ~ M! c4 d6 ^& B: i( eRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;& u" M7 a- a( d( V% `
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
" R/ [9 l u! G
! R7 d: w H5 L3 a/* create a logger instance */
7 l' Q; t* j* T( a9 u/ Z0 [6 L. `# p% Wvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
, Z! X; u$ z* W% j: k5 Ivar loggerBufP = new LoggerBuf.Params();1 x3 e! r1 J! z1 `8 O% d0 {
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory *// R7 R7 B) t1 h$ \$ C: @+ |
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
! a$ N8 `6 B' ~6 |! Q3 z) X/ B, a* D5 `
var appLogger = LoggerBuf.create(loggerBufP);* _9 W/ O. Z. M, N" T
appLogger.instance.name = "AppLog_Core1";) E; g2 V) O) E) s- x1 {9 n
Defaults.common$.logger = appLogger;$ m2 V1 x, l/ z& |0 P; F
Memory.defaultHeapSize = 0x8192;
) i; a, K1 V! S3 r& sIdle.idleFxns[0] = "&LEDStatus";& W& k9 c3 v1 g& d1 ]1 L
Cache.initSize.l2Size = Cache.L2Size_32K;
3 h5 ^4 w& I% T8 f5 `3 O* B& b% |( {
0 W5 i( S! U; s' U. d: D4 x: b2 W# k |
|