|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 K' E( z6 j. N( I3 b
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下5 g) N2 E/ ?5 f7 A- z
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 y2 u/ v: N+ x7 ?6 W U
( E' P! i. v2 u, l4 X
是不是需要在DSP.CFG中进行配置
X. F, i/ o( M) \7 l我现在的配置为
6 G' k# k; B" D0 U( l& C, e' p) d. D& G N9 F0 U+ N
/*0 h5 u$ _1 S8 q; n3 B1 R
* ======== Operating System Configuration ========! z* S* c4 j9 d& A
*/
4 K9 k7 B$ w5 _2 I. J
9 N- ?6 d7 W5 G, ]; n+ Q7 x/* no rts heap */
7 G3 h* ^, D3 Z. A* g0 a! jProgram.heap = 0;0 X4 P3 ]$ o( k7 ^; i( o: k5 i
Program.argSize = 100; /* minimum size */
1 Y6 s7 U: O+ i% N/ MProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
- F3 Q* `: X; I: q% {6 y3 Z E( x; G; W) a+ u: z
/* create a default heap */1 L4 b: `5 b O+ ?0 s* k
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 }- ?9 n6 k/ L. ^0 \1 h2 n+ dvar heapMemParams = new HeapMem.Params();' ?" w6 H$ R2 K
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
2 B$ L. \: n! j) z+ F c' D% n+ U: w" e- X8 g
var Memory = xdc.useModule('xdc.runtime.Memory');4 }5 w, O& B6 f4 I
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);) t7 |. g! x4 y5 M' b
6 N0 B/ q7 r. W7 U
/* configure System module */* U6 t$ q% p2 X. b+ K6 _" k
var SysMin = xdc.useModule('xdc.runtime.SysMin');
. [$ t, H8 ]7 E7 JSysMin.bufSize = 0x1000;4 y) a6 {( A- A: r% D
SysMin.flushAtExit = false;
, |6 w) e% x0 y% K+ T9 ^
; p. I7 l5 f+ L: w3 fvar System = xdc.useModule('xdc.runtime.System');* K5 r V4 G! P% `
System.SupportProxy = SysMin;
4 b" w8 e: @: |' i) V6 ?- W6 ?! X G# j& [: |% \. z
/* configure SysBios to use the lower half of Timer 1 */2 c! G- y3 L# f4 Y
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 K2 t0 [. ]. Dvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 v! w6 m3 B7 p2 L$ v0 z8 fTimer.timerSettings[1].master = true;( I0 T. [3 Y7 o5 Q2 P; n7 l
Timer.defaultHalf = Timer.Half_LOWER;2 |$ q: x4 \/ V; \6 g- W* o
Clock.timerId = 1;
. i* ~9 F8 e* f" v/ K- q
h- q; Z3 e! G5 k, y! _' ~7 C3 V2 c: g( d9 y2 s; Z. t) F) j
/*" G9 e- h9 w" L. x5 R. V$ D
* ======== Miscellaneous Configuration ======== f4 G) }; q) q1 r3 m1 I. }- c' N/ B
*/) |% ?- V# T7 A" F- ` |5 A7 w
* {! \) P4 ~; l0 G; |- b1 \
/* set default diags mask */, R+ V3 s- P, s' F
var Diags = xdc.useModule('xdc.runtime.Diags');1 \1 F. y6 P- q$ V$ i
var Defaults = xdc.useModule('xdc.runtime.Defaults');
6 M) w$ V( M& I: ^& N
, B9 W/ B: R. R4 ]! dDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 u* R- f, A, l5 [8 _Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
" y8 H' h( v9 u {' p6 z4 N X6 hDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
1 V6 w2 k1 u& @9 x8 r- ADefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */! u, @( Y' @4 B7 p' {
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
3 L+ L4 }% o# r2 {, mDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
5 [( U- k, w. y. D) ZDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;: c+ [1 Q: N* G7 A& |7 k
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;# C" @6 f1 X) t+ e0 m" Y0 ?. X7 N
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;/ q% W, |7 d# v" _: \
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( q S: @2 H7 y
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;0 m) `3 V- @9 D7 d+ E9 ~/ {% m9 X! f
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF; g6 [/ w; E: `% ]( A
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;! ?- [' R& o" X. T& ~+ G9 d9 t
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;/ y/ ?5 J# Z) d# c# u/ c( U; A
- j. M' k6 g' x/ A! `8 B: G/* override diags mask for selected modules */" s" u, L9 _4 a* c* a) R
xdc.useModule('xdc.runtime.Main');+ `* \7 w5 y$ O0 W# q: T1 O
Diags.setMaskMeta(
: ?% D( t l/ c" E "xdc.runtime.Main",
}& T- F! I% |4 ]* O: m Diags.ENTRY | Diags.EXIT | Diags.INFO,4 K* g" m* G& w' [
Diags.RUNTIME_ON$ j1 R) ~7 O% M5 g% ]2 ] T# _* t
);* t5 c0 ]4 Q4 G( T! n7 h5 z0 M$ W
( X( o4 _0 q& Xvar Registry = xdc.useModule('xdc.runtime.Registry'); e5 K- Y% F5 O+ \6 n
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
/ F1 {0 t- O% ORegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
- O7 X3 }+ O/ y5 Z. k' JRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;! n% I2 g ?1 @& x+ L
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;& [1 v9 K; y( ?, S) k3 S
+ L) H& [* z% l( n( N/* create a logger instance */% M. P0 a* p! L L8 c. S
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
( m7 T: `6 ~& j( F& r+ f6 s' M; tvar loggerBufP = new LoggerBuf.Params();
' a' s/ v! B8 g( P+ b- jloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */& S! D5 }+ v/ j; T& [; P
loggerBufP.bufType = LoggerBuf.BufType_FIXED;( d& T, |$ Q J6 Q0 i) e1 m4 N
* n. ^& e$ i9 j( mvar appLogger = LoggerBuf.create(loggerBufP);
* F6 ?( _- K" tappLogger.instance.name = "AppLog_Core1";
" x0 }( U7 z3 [" J$ B+ @; {Defaults.common$.logger = appLogger;6 |& \+ U/ N: L+ N$ G
Memory.defaultHeapSize = 0x8192;
/ o' y! s3 L- y2 E- E0 l, g, AIdle.idleFxns[0] = "&LEDStatus";
( F/ ~( P$ N/ @! Q5 L! eCache.initSize.l2Size = Cache.L2Size_32K;
+ {. M3 x$ M8 J: Z
* e) v" I+ S5 t/ i$ b0 w% L |
|