|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& s; Y& B: g; Q& V我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
$ h# t( g4 N! z! e; M1 r(不过疑惑的是,为何单独DSP仿真就没有问题呢?)9 ?: M* D: f3 \' F8 a5 c- R
7 d3 Y4 U$ A8 _& A5 ?# D$ t) _是不是需要在DSP.CFG中进行配置5 G. e# z) `; f+ ]& K, i
我现在的配置为% X5 b" i& N0 f' \# c# K0 D
2 X) r h7 _9 Q9 h
/*
r- }( N4 h9 i * ======== Operating System Configuration ========
& s' i8 l1 c/ j- S9 K B0 n */& ]+ j% {: d/ e! A
m: {! Z& J, p$ Z0 Z; m" @9 k
/* no rts heap */3 X% z8 x F* Q$ R! S
Program.heap = 0;
" ]' E3 T. r* h SProgram.argSize = 100; /* minimum size */+ ~4 ]4 E h7 ?( ]( X
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大' ~6 w8 a" R, w; k& I& j
# {( {( ^& v7 k7 N6 F. b- ]
/* create a default heap */! Y: g9 ^$ o) m) n# V! J9 \3 `
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');. J( F. e. V" A/ ]
var heapMemParams = new HeapMem.Params();# t/ c6 E0 Q% W* `1 E# S4 j( i
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大5 c3 p' i7 t9 _& Y+ \! y; l
- C0 C t$ P# h b2 E" R+ [( l
var Memory = xdc.useModule('xdc.runtime.Memory');6 K& W1 L; K' O( X
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
p! v+ r7 i3 K0 A5 c; E8 }) }2 w0 d( S8 t+ X
/* configure System module */# {/ @9 |7 V. V. u
var SysMin = xdc.useModule('xdc.runtime.SysMin');
! D# `/ N% @, v1 r# NSysMin.bufSize = 0x1000;4 F$ |( J: x O: C3 v9 M$ w! z* f
SysMin.flushAtExit = false;
0 R7 J, I' `3 B: ]" u& o7 U1 Y" i+ T; w3 Y' f6 }* i
var System = xdc.useModule('xdc.runtime.System');
t( p+ z, R5 o, QSystem.SupportProxy = SysMin;$ j7 a+ t8 d* A5 Y* n
' t |$ @) n% L( `' D/* configure SysBios to use the lower half of Timer 1 */3 l+ \9 t0 a! K8 Q9 y/ I- [+ ~
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
7 _, i3 {. @) K3 Bvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
- E0 l3 T7 v0 h; tTimer.timerSettings[1].master = true;; w, C. m9 p& V
Timer.defaultHalf = Timer.Half_LOWER;5 ]1 f/ _ }" ~) P
Clock.timerId = 1;7 p: B2 j: }# J5 {
: B7 e$ {, W" `' L0 \1 k: [/ d( g: T k% _$ H5 p
/*
9 @6 f7 R* Q8 Y- W/ }( ? * ======== Miscellaneous Configuration ========
, I; a1 a0 U) S */
2 N$ r- R: Q$ ?) g( e' A" F& p5 ]/ {2 N2 j
/* set default diags mask */
( K2 ^4 _4 E- p8 Z8 b- x i7 cvar Diags = xdc.useModule('xdc.runtime.Diags');
$ O2 w$ R& f `4 q$ T1 L0 ~var Defaults = xdc.useModule('xdc.runtime.Defaults');- G4 L& L0 w( K6 D5 ~' d9 W7 L
+ O' R. F$ @3 G8 I7 g& C6 M
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
% I$ o' ^6 `/ {) ~6 h% d$ e7 ODefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& s9 ?* x' V/ l! F
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;! W+ B: Q2 ?8 r5 P/ C
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
/ i( j1 K4 k, c. R; C. _Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ m( \ L# n7 ~9 `/ ^0 ?# ?
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;+ F) o. w4 w t7 v9 C
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 ~( ^4 F' j1 `) ?7 t5 ]Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;0 p5 V7 ^, w5 g+ l* D; L
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
2 H: i9 _& M: B# Y9 X9 @# {Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
, K* \8 ~' J/ sDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;9 r4 F8 Y" b U; t7 F3 x N
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
2 ~, t7 o- `( Y/ m) KDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;7 H }3 f0 n3 Z( g; p' d
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
' P9 j2 c# I5 |& n+ Q, L8 w5 G- [$ Q$ E9 W, o x
/* override diags mask for selected modules */
" Z# t, Z; M3 ^$ c, J8 F5 x9 y7 zxdc.useModule('xdc.runtime.Main');
6 W9 H1 |4 q7 H! x2 h* l8 hDiags.setMaskMeta(
. {( B1 c. E+ u! ?- a5 w "xdc.runtime.Main"," m/ `# Q) v1 P1 V) \" H$ ?# B! m6 `
Diags.ENTRY | Diags.EXIT | Diags.INFO,
2 h) y& m6 v, |& D! ?- x+ h5 `; k7 @ Diags.RUNTIME_ON: _0 t1 u6 C: k9 n' m& H
);
; a$ `5 s/ a! U' b* x6 v4 j: \0 @! n6 X ~* s& g( Y7 L5 m. u
var Registry = xdc.useModule('xdc.runtime.Registry');4 j; G; o% V' h3 }) q
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 ^, _; [4 i7 y' [
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
/ R$ P) s1 N( u0 p+ ^Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
: H1 w" ~+ C, I! L$ y }Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;" l6 j% W, b/ p) H ~
/ i5 ^0 X; q c- I! D
/* create a logger instance */
{, j8 E9 X5 G7 _var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
5 }4 _' `1 X1 c. n7 W, d+ {/ hvar loggerBufP = new LoggerBuf.Params();
) E) M6 ~7 \ h. f& H: ~loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- g1 f1 y0 Q$ i, G: v; \ B
loggerBufP.bufType = LoggerBuf.BufType_FIXED;2 z' X9 e2 f4 p2 A
) Q: s: O9 C( i+ s
var appLogger = LoggerBuf.create(loggerBufP);. Q7 {: |# D5 b
appLogger.instance.name = "AppLog_Core1";
A3 S/ `- y5 g. @$ t2 IDefaults.common$.logger = appLogger;
5 \0 _6 ~5 K* eMemory.defaultHeapSize = 0x8192;
' J; d. N& F$ D5 S, q# x GIdle.idleFxns[0] = "&LEDStatus";
/ h7 {% j# t$ s, h; [! o9 `2 [# gCache.initSize.l2Size = Cache.L2Size_32K;
# {: Q2 @- O! q7 ~
* p: m2 }1 t; I5 O. e8 O) @3 { |
|