|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明+ R( r* v% K3 G5 a3 T
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 D# ~) X+ ~8 H1 ?# `* i
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
+ e. T4 ~7 `2 L' I/ H' f6 @
+ T+ n' L- `0 h0 N是不是需要在DSP.CFG中进行配置' ]8 P1 B5 `, S& q+ {% z
我现在的配置为
& I* {' F) U3 A( k/ `* }; s8 L7 f. g1 A) [
/*" H2 g. b5 ^/ }
* ======== Operating System Configuration ========7 ~$ I6 J5 W M+ g& Z! [' Q
*/
5 o. m. N* v W4 j0 g0 k
6 c4 ?& ~5 V1 T7 m' Q/* no rts heap */
5 [% o* s4 O0 `Program.heap = 0;
! h$ Q8 _: e5 p: ^, jProgram.argSize = 100; /* minimum size */" q& ~# N! m2 z9 V
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大' E. p6 b# U0 ]% b1 T
0 i( r9 a' E% c: g
/* create a default heap */
/ D. U$ [. k) X8 ]& t2 X8 pvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');/ N1 d/ f; M/ j$ _/ q) ]
var heapMemParams = new HeapMem.Params();
5 X8 y$ f9 i9 u. uheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
; X- i2 T! l# ]6 j, s) I4 C% [; } } N6 l
var Memory = xdc.useModule('xdc.runtime.Memory');- g6 d: w) I, m7 {5 z
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
1 k! A7 ~" G3 O9 }! M9 x9 F% ]0 F; V: C5 s& Z
/* configure System module */- Q- }/ z+ q# \
var SysMin = xdc.useModule('xdc.runtime.SysMin');
) S8 h6 J `9 N4 v# l2 gSysMin.bufSize = 0x1000;
[+ ?) k# a3 } c- r/ RSysMin.flushAtExit = false;
+ l/ N6 T0 p( R: E
2 S7 d5 g" i- Bvar System = xdc.useModule('xdc.runtime.System');
5 u/ E$ t1 i: F# B9 m* B0 k0 K) ZSystem.SupportProxy = SysMin;
v8 e- J# B( N8 Y7 ~3 f( g; X! f& D5 J/ l% F/ _* s e
/* configure SysBios to use the lower half of Timer 1 */, T, M" n2 A! J) `- {
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 B& u; ^8 v$ z/ n7 X, \8 B& a7 ?var Clock = xdc.useModule('ti.sysbios.knl.Clock');
" m$ n6 O+ I9 L1 T2 uTimer.timerSettings[1].master = true;
! Q! ]# e$ J' r# XTimer.defaultHalf = Timer.Half_LOWER;& u) i3 p+ Q- O" t# e0 h* v- R
Clock.timerId = 1;
8 l( M0 M, ]6 m9 r5 W% F9 \0 F+ _
3 ?2 e+ v/ A1 r. P: P4 a+ D; K! T4 V* p5 y% @
/*
8 l7 _! ~# j0 @) y. r6 t * ======== Miscellaneous Configuration ========1 W5 v1 }% L: m* ~2 e
*/
+ x# S9 Y" R6 b3 j3 Z; F0 o8 R4 N" |5 f2 @, |/ i4 l+ A9 U
/* set default diags mask */
! O; Q. e3 s, f" B5 F) @4 rvar Diags = xdc.useModule('xdc.runtime.Diags');
8 `' D% i' C. u. r6 V ^; E! A! w3 Lvar Defaults = xdc.useModule('xdc.runtime.Defaults');
; w7 d g2 j- |/ E5 P/ R) H( q) v4 S9 F9 e L' Q- Y: C8 j
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;8 I% y; i' d& a9 t) X$ A
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& Q. n5 a# e; N$ oDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;' d$ N( \) V' K: x! z. P
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
# W) e0 n4 t8 y/ A* W1 e; ^8 H3 w& lDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
7 ^: S4 w5 v8 u) E, m* `7 iDefaults.common$.diags_STATUS = Diags.RUNTIME_ON; J% r" q& ^9 K) I6 M
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;: l7 l" _; K! S9 G, Y2 `
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
& T# q, E; K3 O% v& j- _) EDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
/ V: l% B6 ?4 K* R6 e) S$ J2 b+ Z' TDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
; u8 G3 F' [8 I! D, LDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
% k% Z) \" c, \! r0 ^: E% VDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
4 j- J0 @5 i$ A3 o/ aDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;( Q3 l% l' c1 I |* g% W
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;' j7 \/ y( W [- J ^9 m- A
4 z+ U/ q9 |( |" R. z9 f5 e4 D/* override diags mask for selected modules */
4 B% r7 F: f$ }) q( j, q& uxdc.useModule('xdc.runtime.Main');' W' z% b2 p4 a- @
Diags.setMaskMeta(3 R! e5 k- k/ d5 V! e. V
"xdc.runtime.Main",3 j3 d! U2 h7 b( h2 k R) d: S
Diags.ENTRY | Diags.EXIT | Diags.INFO," |. x9 V0 F) {+ b7 A
Diags.RUNTIME_ON
2 k( M0 v# J; V$ H);9 i* X0 s5 ~$ S* |% ^
7 D3 q( d3 m* a" u' O7 B8 g
var Registry = xdc.useModule('xdc.runtime.Registry');$ ]) P" ^; v6 ~* b+ D
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;0 f# X2 y0 o. u: q- N/ ?, M
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
7 @( O: }3 Z6 P' x6 }/ DRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;, I, s3 ?% ] @* \. i
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
- p1 c4 I9 D6 E7 @; i0 {( ]* V& O" b" B( E% N7 N) \3 j
/* create a logger instance */
1 B7 v: y4 ?: l! p& mvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');$ I: g r+ K0 q! I, C
var loggerBufP = new LoggerBuf.Params();
5 P% t: P8 s; b8 K5 b7 o! FloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
( g; u- K& V& ], H; c: IloggerBufP.bufType = LoggerBuf.BufType_FIXED;/ I7 T" c+ t8 O- P1 T2 [+ S
& z( q' H# y- `" D0 S5 Evar appLogger = LoggerBuf.create(loggerBufP);
# [9 d& _1 V* [1 U7 h" [appLogger.instance.name = "AppLog_Core1";
$ |% J4 ]8 i! MDefaults.common$.logger = appLogger;: X& R" H/ }6 M7 y2 P2 n" I8 e
Memory.defaultHeapSize = 0x8192; & c- x3 ] R. c4 D9 n
Idle.idleFxns[0] = "&LEDStatus";
) P5 h- C0 k# Y2 M. s3 ACache.initSize.l2Size = Cache.L2Size_32K;
) n, {$ s+ E/ l+ E7 w/ ?- ^
/ A1 x0 y2 ^0 @) J9 ]/ e0 J |
|