|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明/ v8 z2 \$ o2 q& d6 j" Z* U
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下" X) }% o4 }* P3 A8 X2 q' K
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 G0 Z# G1 Y' u2 R0 Z
, R5 _3 |# H/ V- r* l0 f' i. g0 F
是不是需要在DSP.CFG中进行配置7 i/ \/ K4 E: K; L- r
我现在的配置为% k+ Z& C% R R) [8 M! ^
) f$ u" x, {) {7 y7 J/*) U% g. x/ m. G
* ======== Operating System Configuration ========8 L( _, X; u. h c& I* b. C- P' Y
*/
. E/ t1 o2 Z& E0 ^5 ?4 u" E" ]! t; n2 z; X
/* no rts heap */
& Q& p: o ?/ Y5 y5 _; iProgram.heap = 0;; o/ u* V5 ]! F
Program.argSize = 100; /* minimum size */
& x, ], o8 h; ZProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ l [! Z( E2 \; w
; O* p0 O+ L- e- ?' G: ?
/* create a default heap */
9 x5 L3 j( X7 S% d- i: Cvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
7 B7 h8 C1 W% j S! r5 v3 x* N/ g7 ivar heapMemParams = new HeapMem.Params();- q! L0 f J6 f! H9 s" b& K
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大3 l) y1 s7 _5 ]1 ^2 `
! j9 D" V6 u* n" s" Y I
var Memory = xdc.useModule('xdc.runtime.Memory');% T% r2 g) i: j2 y4 h, R, `
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);' F& t3 ?! {2 b1 r: y$ k8 n- R6 V
( S9 S1 x2 D, R1 k4 m R/* configure System module */. S4 ]- C0 h! `: H( H
var SysMin = xdc.useModule('xdc.runtime.SysMin');: q Z* Z6 r* `7 d2 a( ]$ H" j
SysMin.bufSize = 0x1000;7 B8 p7 h" `& _* ], L2 z" A
SysMin.flushAtExit = false;( @5 `% G; c M( J) E
* Z# c) T! [3 h+ nvar System = xdc.useModule('xdc.runtime.System');2 L& _; ?) b4 K8 j, f* g
System.SupportProxy = SysMin;& p6 Q* c, v* q0 U, o) X) Y- C
; C0 Z# e! b9 W. t* R e/* configure SysBios to use the lower half of Timer 1 */% ^* f9 G M# X0 B G% d" ~
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ `+ A2 a/ q8 I- P: ] Hvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
# t. ~, K' d& V: M: ATimer.timerSettings[1].master = true;
8 `; w* [1 U) ]Timer.defaultHalf = Timer.Half_LOWER;
, W5 G! R9 w( X+ ^( ^% gClock.timerId = 1;& |; A! L! T8 j: p2 {: B3 C, I0 r
V- [, ^ f. J) l% U: [
$ ~, ?$ E! z( N7 B' k# o
/*' ?7 u$ m$ v3 T
* ======== Miscellaneous Configuration ========+ ]; v6 Y1 q2 M& f) Q9 O
*/
v8 s- h7 u( g3 V& \5 _' B0 }1 P5 J3 v+ A4 H. G6 C* S- }
/* set default diags mask */
; d* ^4 s0 H- F8 P w2 tvar Diags = xdc.useModule('xdc.runtime.Diags');0 d7 Q: L# l4 R4 f, A1 D
var Defaults = xdc.useModule('xdc.runtime.Defaults');! c! f" S. o1 Q7 A. M2 o' D
" W# j( r# s) \! t3 u. o4 N
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
2 `, R1 P+ ~# s9 V( m6 KDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
7 I8 A$ a3 e$ E4 @3 i5 hDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
3 ?& X# T% K+ l0 V- f4 }Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts *// D, d) p8 W* b
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */# |7 |* T4 s, @1 i
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
D0 f# h" \4 y1 y6 f; IDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;( M: V8 ]( j/ T
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;0 }) c& |0 G( @4 Q2 D
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 M3 J M5 ~6 d9 I. u3 U
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
, V+ ? Y7 N( e- n& N) D" i+ BDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;2 W# ]& w7 S3 b9 @& ^
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;4 H6 t* k. z& H# V
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
$ a! L* J; F' s$ f: ~% t3 ]Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;2 z; {4 r7 g0 U, l0 X$ R, q9 C( J
, J+ b- g8 _8 L f* V/* override diags mask for selected modules */! ^$ A# \* Y& n
xdc.useModule('xdc.runtime.Main');
" q% I( r' @/ l5 j4 B$ p) aDiags.setMaskMeta(
/ f- U+ P" A7 {2 l "xdc.runtime.Main",2 B9 D# d" f" j2 M: _& y% [
Diags.ENTRY | Diags.EXIT | Diags.INFO,
" q6 h* p, i4 g4 L$ h/ G8 B- I Diags.RUNTIME_ON( y' t, j/ \7 ]' u e* W( R
);. X- P" {& y6 R* E& S
; J' b* r2 L, }/ `1 _var Registry = xdc.useModule('xdc.runtime.Registry');. ~+ M5 I. c i! r6 {- ]
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;) T& r3 C8 ~. k0 v3 [3 O
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;+ i: X0 F: V/ v; {/ j
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
6 S1 b! u% P9 i, @# w, K( J# jRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
" U% s& n" H+ _% M
7 g, i- a' G6 M/* create a logger instance */
7 F( _! V9 `& g) i1 P& r( O6 ?var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
4 @0 |0 W% `0 G+ A- r' U- w9 f [var loggerBufP = new LoggerBuf.Params();
; y' i1 P. S( xloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
+ q$ F) u, f- P8 o3 [loggerBufP.bufType = LoggerBuf.BufType_FIXED;, f& {4 X3 ^6 S* u' I$ s. O
+ d! B- t) z: _var appLogger = LoggerBuf.create(loggerBufP);: U' N1 u2 x8 J( d! v
appLogger.instance.name = "AppLog_Core1";
8 ^- h! v: V1 L- ]* v1 |6 t! pDefaults.common$.logger = appLogger; k/ t9 a( R4 A. T& F
Memory.defaultHeapSize = 0x8192; h( @# @8 \! H& Y) @
Idle.idleFxns[0] = "&LEDStatus";$ y1 C8 h- ~$ G- Q' |
Cache.initSize.l2Size = Cache.L2Size_32K;
! Q" [9 B+ S3 C( J
0 ~. l. D" `# s# H. R. p |
|