|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
0 b. O/ W; p: w1 E1 X我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下$ ]) h6 g3 l5 `1 q
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; x5 k' T" z) X' r
4 m3 _4 Y3 s. M0 f* _% t; G是不是需要在DSP.CFG中进行配置
" n2 s6 ~' q$ ~+ o' A) I我现在的配置为
: q" l4 [- A3 A* K F' z/ Y
k q" R0 h) F. D9 X/*0 i6 J' M$ j0 y( P
* ======== Operating System Configuration ========/ v: g9 H0 C& Z( x) Z
*/- y( p! o5 A# W. ?4 `
0 j. }6 l% ~$ s( f( F- ?+ t! M
/* no rts heap */
0 g2 {* D O0 L% c" m2 W# C# B; bProgram.heap = 0;
7 q; q- I: n& @# GProgram.argSize = 100; /* minimum size */
, l, D u3 h# V9 y* V5 m$ fProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大' g- V2 K% Z8 b8 y* c
8 t% K6 t/ u8 [6 E4 e/* create a default heap */
0 }1 m* ?) C- F- N+ T5 jvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');2 t4 C2 V% Q8 e
var heapMemParams = new HeapMem.Params();+ c% t0 W1 M( f& b
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
9 N( O! w/ z3 F4 X. H+ N" G" ~+ Z. G, b" ^2 M
var Memory = xdc.useModule('xdc.runtime.Memory');6 c' |8 F* C) Q! C q, r
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);3 m% Z( ]2 b+ g: R4 ]0 O4 v
6 E' l, ^4 P" W3 p/* configure System module */
& B: V. L- Y$ U9 ~; Zvar SysMin = xdc.useModule('xdc.runtime.SysMin');
# i/ B1 q- K1 q/ _ b7 R: ISysMin.bufSize = 0x1000;
3 V" b! Q7 e) z- l, j: c& P/ VSysMin.flushAtExit = false;$ ~1 I" ]1 |9 a/ e
/ r: [! ^/ L8 R) L, }5 O
var System = xdc.useModule('xdc.runtime.System');
" {* l9 n1 n2 t* c: D" u6 A! r2 MSystem.SupportProxy = SysMin;
# r, D1 J4 V; V, m% j
9 X' S) ?7 M9 a$ P8 n/* configure SysBios to use the lower half of Timer 1 */
+ W& w+ m. K4 G* s/ }, h1 A( kvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');2 A" A+ a) V; n+ D: H
var Clock = xdc.useModule('ti.sysbios.knl.Clock');+ F/ H( I1 o+ t
Timer.timerSettings[1].master = true;7 _3 U9 H, W2 I# \+ [
Timer.defaultHalf = Timer.Half_LOWER;7 |2 s$ j: O" C- O
Clock.timerId = 1;
$ q l0 e9 E( e
- V7 N- K& m8 K' b# l8 J$ t
* b. \, g5 G6 r9 L- i# I/*
3 s5 n6 `6 s0 g( W * ======== Miscellaneous Configuration ========
1 I1 B8 V. n6 G */
' U# V/ f9 K9 U+ ?! t9 }. i2 ^$ U$ u9 |7 X9 s
/* set default diags mask *// f1 w1 N& T2 e# [. c N$ q
var Diags = xdc.useModule('xdc.runtime.Diags');
2 o8 x- O2 G& z9 [2 Bvar Defaults = xdc.useModule('xdc.runtime.Defaults');0 ^4 p6 e) {3 m$ ~
' {: c' | x# O. y
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ o$ m9 f; j) W) J% ^% u
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;: `7 C, t: C& v3 J: ?
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
% u; h: t) B2 {0 c3 VDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
/ h* t* q) t" d2 uDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
, L5 @# a& q/ X# q1 xDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 ^; q2 Y1 k# E/ `1 T" QDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;! Z' m% Q: Z" F( H) Y
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
) t1 k( D+ c" G) K" a- \' d5 JDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 z9 Y' A( r$ d4 ]8 jDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
2 u8 P$ p0 ?3 B; ^Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
& n, v( ?3 g6 }/ S2 uDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;7 r+ r" T7 t6 S% T {* Z
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
- a) n4 ?/ z% Q7 B( d2 y& b) O5 CDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;1 j: u3 u9 K+ y) ~( a
2 X6 S" N3 i% X
/* override diags mask for selected modules */2 D) P& j( W6 t9 _% `( u
xdc.useModule('xdc.runtime.Main');
) K4 R# m! s' P0 O; |3 aDiags.setMaskMeta(
! s; W: T: d0 I4 S8 u+ q "xdc.runtime.Main",- ?, @# B& O- [2 @) f# l0 F
Diags.ENTRY | Diags.EXIT | Diags.INFO,
1 K9 ]: x; c {/ y V4 ]& l Diags.RUNTIME_ON
4 N" \: v& Y/ e( j) B);
) t1 y; r7 J* m5 K
" l$ V& G3 q' c! Bvar Registry = xdc.useModule('xdc.runtime.Registry');! w1 ]& e+ j! l5 v: [+ g
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ _" o/ n8 f. k' n7 f+ T0 S
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;! A6 @ |0 S* o; T9 q
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
- b# ^$ i3 h9 h- z" ARegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;* Q: [1 C% G( z6 I" V& Z: L
* @8 A+ S4 M' v( h( ?. H( }/* create a logger instance */+ E! a e9 v6 Y
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ z8 _6 v9 ?2 Fvar loggerBufP = new LoggerBuf.Params();
! L0 B0 A& ?( ~" T5 A" b) dloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
) T; y8 T7 C5 @3 [5 ~0 [loggerBufP.bufType = LoggerBuf.BufType_FIXED;
- C4 \! [1 u" \* M) v- P
) |1 G0 M2 m, ?3 [5 i# mvar appLogger = LoggerBuf.create(loggerBufP);2 N4 H$ [5 E' a
appLogger.instance.name = "AppLog_Core1";
5 |' E5 {4 |5 H6 tDefaults.common$.logger = appLogger;
. f5 m. E( }, k# {7 kMemory.defaultHeapSize = 0x8192; 0 G5 g6 ], X8 `( M, U
Idle.idleFxns[0] = "&LEDStatus";/ I) X9 N& a2 h1 l: E5 [/ O% b
Cache.initSize.l2Size = Cache.L2Size_32K;) P! F9 d+ `) a5 t6 K
) D5 t$ R$ G2 M% v* b
|
|