|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
, S8 D# R4 X5 s7 h我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下 ?2 N r6 F: R* {) \4 n2 `
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)7 J: M% `. w# `6 w
" B: h$ j1 s; i3 F; ~
是不是需要在DSP.CFG中进行配置# j" M, o. |2 B. j' Z; Y
我现在的配置为
" p; j" _0 d; v+ x6 G+ b2 U! k1 O, h
/*
4 l( B9 |" O* W+ d7 g; v7 N * ======== Operating System Configuration ========
2 p* j Z& H9 g, l' F- @ */7 v2 g) L+ _+ n- G! W
+ K) K; M$ P. e7 Y
/* no rts heap */# d- b, S. L& D [- E* f
Program.heap = 0;
' G: i) x H$ sProgram.argSize = 100; /* minimum size */
4 Y1 w0 G4 k; W9 s+ P2 m- D) _Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 R& G' l/ S( Y+ q
, O7 O3 q n/ U% j/* create a default heap */
# `6 o& n e- L d7 z6 X& gvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& ?; O; J6 ^( \. J/ {
var heapMemParams = new HeapMem.Params();: N( Z, p7 r& [+ P9 r4 `5 Z k8 [1 o
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
9 }4 j& s6 e- W, _" \! I r" A2 X% H4 K2 {, ~: o
var Memory = xdc.useModule('xdc.runtime.Memory');
, ]( `- q$ u# p& v9 {- Y# i; jMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
9 F" v9 U% v5 c# O$ N
& ]( S* m; I' ^ z7 T' p/* configure System module */
) _+ b+ b- B0 Bvar SysMin = xdc.useModule('xdc.runtime.SysMin');0 o |9 M6 A: m# @ ?) I
SysMin.bufSize = 0x1000;
& h% M& B5 o N* X* p8 bSysMin.flushAtExit = false;2 g7 L+ m! Z; {1 z
, x. u$ f- \( I7 ^5 I
var System = xdc.useModule('xdc.runtime.System');
% [1 V1 @2 h. {6 |System.SupportProxy = SysMin;
( R) ]4 E5 D0 B- y( `( F
/ s6 f, \+ `3 N! N7 K4 A- F/* configure SysBios to use the lower half of Timer 1 */9 J1 k& u/ X% a9 d/ T$ n
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');$ q6 F: _! K K O2 o+ F( ]
var Clock = xdc.useModule('ti.sysbios.knl.Clock');7 {8 d0 U5 B! l7 ]
Timer.timerSettings[1].master = true;: D: q5 _3 g$ m: j& |
Timer.defaultHalf = Timer.Half_LOWER;0 O% F1 w; v) u6 x5 c0 @6 L8 ]2 [
Clock.timerId = 1;
1 u# v. r- Q1 }! Q1 d- v0 `1 `6 j! b/ n8 x9 F* e7 W
5 g1 D5 e7 d/ E5 |" J
/*9 [8 D0 P: H1 o2 K9 |
* ======== Miscellaneous Configuration ========, b( n T9 T. N
*/
M# z1 T/ g9 S" A. K h
+ k# }) H/ \0 A! u3 h/* set default diags mask */ n, j; f! G- O0 b
var Diags = xdc.useModule('xdc.runtime.Diags');6 C J( s* ]. e3 O: P
var Defaults = xdc.useModule('xdc.runtime.Defaults');, _- O: W* R8 _. D" W
* I: [& z! v) hDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;- A; Z! C4 i v* i z
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;+ ~% `' K, B* }
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
9 D" V4 {1 F8 d0 ^Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) i/ X9 n+ w" H' I0 t. A: ODefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
1 {6 \' q$ \+ a7 \* PDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
6 m4 U" S; v* @Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;( g) p6 z) U8 w0 K
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;) ]' I( z& j' }
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
# J, K" c, `* E4 h% K( F. s7 ^% fDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;) V2 j8 s7 D; C1 q1 R2 g" X
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
6 K+ U1 [8 Y6 b! }Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;3 J+ v6 }4 l, [9 P, G/ O5 k
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;: |1 s) c- \( Q9 t1 m8 r3 o
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;/ x6 y8 |3 ~$ W& v
' \/ d3 @/ U; Y2 ?* J1 s4 _/* override diags mask for selected modules */
: G7 I& H; y( S! s* exdc.useModule('xdc.runtime.Main');
3 M5 U! T' _3 s8 c1 {- p8 dDiags.setMaskMeta(3 Q B, k; H: e; p* D( q
"xdc.runtime.Main",
( `; Z3 X6 e. f$ Q Diags.ENTRY | Diags.EXIT | Diags.INFO,
" Q8 z/ O$ L# k" _ Diags.RUNTIME_ON, ~( Q; ^5 W3 s) i( }3 i: d4 F X
);
, |) d& \0 I" x& F( y1 K+ b( N4 B# ^) R2 M
var Registry = xdc.useModule('xdc.runtime.Registry');& L, \8 K9 m; ]! O1 ?
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
- |# c; ~# g/ z8 i( ORegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
/ a |' z# k' K5 q0 \1 n5 }1 ?Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
* L3 ]8 ~5 @0 E. H; \Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
, F4 d. { Y9 ?+ D# O( T+ d" f1 n& W! q" k& S4 c5 W# M* x) T3 t, u) H
/* create a logger instance */3 e5 B$ ]3 E! T z5 l) y3 I7 c
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
( X* f4 I# r& f evar loggerBufP = new LoggerBuf.Params();2 H2 H* v9 W9 s4 M# o8 s" B
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" P; A- m1 ~1 q6 u2 N
loggerBufP.bufType = LoggerBuf.BufType_FIXED;+ S/ j t+ q8 [9 O& Y
$ u' s4 I. _5 r2 L# e; k7 X
var appLogger = LoggerBuf.create(loggerBufP);8 o8 `+ `/ w+ ^& S, t: _
appLogger.instance.name = "AppLog_Core1";0 }" f3 `9 R6 R, }5 t* `! Z( S
Defaults.common$.logger = appLogger;
! Q9 u2 a2 Y' t% [/ GMemory.defaultHeapSize = 0x8192;
: v8 s4 u4 V+ iIdle.idleFxns[0] = "&LEDStatus";
, |, ]) n% ~: x$ l7 x4 kCache.initSize.l2Size = Cache.L2Size_32K;
' n2 Z' U: z8 ^, p1 z2 t6 I( m
# ?% b- F/ J$ y+ b |
|