|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
0 Q( N8 C0 ?5 a. |我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: \# s5 x$ I6 c J' \(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
( b/ a. C& Z& f5 K5 T/ E% h0 K, `( }* ?. U- f: P- ^
是不是需要在DSP.CFG中进行配置! h. x! }6 U2 X
我现在的配置为
3 ?0 T' n1 |1 u6 K4 k9 z
/ D- [% D: Y) B! H D( U# W. q/*6 d; v, G: c$ h8 Z J
* ======== Operating System Configuration ========5 A8 B6 D* M" [- s7 t) K
*/
- ` h, I; F9 h. X0 ]" I3 C
4 C/ D& N- F' O( t" C/* no rts heap */
! j. D$ \4 @8 w$ E! L, k+ rProgram.heap = 0;
) E, b! Y! R C* ^& qProgram.argSize = 100; /* minimum size */
. m/ G/ R& z8 O2 z9 Q6 {* Q* @Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大" [ W- H9 _$ }. @. z1 `
' m+ ~; k) a: O1 J4 i/* create a default heap */
0 r, Z8 ~* h: g0 j/ z/ l* E `: U# Wvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' h8 u* `; z- F% j8 {) }/ yvar heapMemParams = new HeapMem.Params();
) P+ @- R' a, t& t- NheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
- }" R# |! H' c' e( D9 h6 }7 I1 @6 e$ Z% R! x/ Y: C. l
var Memory = xdc.useModule('xdc.runtime.Memory');9 ~2 O! a% j y9 \8 s8 x0 K# B f
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);# G* D5 z9 t7 J- l; k5 B) b7 X
2 k% f( e9 V' `" X, t( R
/* configure System module */4 _7 s0 F* A8 [. N' [6 G: u, e- m* ~' n4 c
var SysMin = xdc.useModule('xdc.runtime.SysMin');
3 S2 Q' A5 `+ @7 h8 ?- ASysMin.bufSize = 0x1000;' f+ U; j% T: S; b+ h9 R
SysMin.flushAtExit = false;0 f0 S2 d4 G) z/ }' K# D
% Y& ?$ n* M- f- y6 R4 ~) n9 uvar System = xdc.useModule('xdc.runtime.System');
$ i- w C. B3 W6 w% z/ [! [* PSystem.SupportProxy = SysMin;) V6 e7 ?6 t+ A1 s' v& J* K
$ s# i0 `1 H+ l/ Q4 f
/* configure SysBios to use the lower half of Timer 1 */
( V5 P3 ~# {! u. U, A# @( z @var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');. f/ [1 a' o' g2 c# |$ P7 R
var Clock = xdc.useModule('ti.sysbios.knl.Clock');. Q3 U7 H3 M) `: h. \# ^; N3 S
Timer.timerSettings[1].master = true;
; }: H, S% A5 S r: m7 _! DTimer.defaultHalf = Timer.Half_LOWER;
' R/ r: n2 g; O' |Clock.timerId = 1;
, ~/ I% t& {1 ]! C$ @& O% ` a% z/ u- d# V2 O
1 |/ S- T: L7 `, n3 G
/*
" W) R0 `! u& C! {% x# N/ z/ J; F * ======== Miscellaneous Configuration ========
( \' O4 `0 v) D1 s( q */
* L- d4 f2 ^3 B m0 U9 X
6 S; ?3 }( {4 y9 b/* set default diags mask */
2 k& I- h1 ~) J4 h- H4 dvar Diags = xdc.useModule('xdc.runtime.Diags');
1 v; y! S- ?. y( O+ {* Q4 ivar Defaults = xdc.useModule('xdc.runtime.Defaults');) H+ N0 p- |7 T: g( T% e" X
" d+ z( m$ O% Z; j4 mDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
# M8 B9 t, Z0 \# eDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
5 C) ^3 g7 l+ D6 Y+ ]Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
+ C' r2 v0 t0 Y2 B7 d$ g0 TDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */% v' z! S3 ~0 \/ \- Y5 Z
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
( R4 I! Q+ P% o YDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
7 }# ^( r# c* l! K! n5 y. _7 S/ PDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;" T/ T/ Q8 m+ i% h
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
+ z `4 n$ k' Z& I, fDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;$ \! C- `- D3 K3 H
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 f7 S- Z, L" pDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 U0 Q& _$ A, E$ \4 o, _& e
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;7 D( v! k6 y2 i9 W. _
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;% J- m8 t& `0 n# l" g
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
% P9 i3 f9 L! M J* y9 `* p/ D2 u y. Q% S$ R
/* override diags mask for selected modules */9 Q" ?: _/ g# z: P6 ^; z- [; z7 ~
xdc.useModule('xdc.runtime.Main');4 m) ^3 [1 H7 F+ |, R
Diags.setMaskMeta(
d2 [8 T' K1 `1 U. j/ J "xdc.runtime.Main",1 d9 g& g) m1 I& s
Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ s% z9 U% g/ ]6 \) ^ Diags.RUNTIME_ON
, ]9 a0 u+ w/ z# H1 A5 s);
* P4 f9 h( m- x7 M! \- G/ g: m' y# {0 N9 P( @3 s v
var Registry = xdc.useModule('xdc.runtime.Registry');
: H- i% K% k' c: X$ J5 PRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;- a7 ?3 D" w' V/ `" l
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
3 D! x. T9 j t- f, |Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
- F& L# ^1 O" d& R4 ^" U; R; lRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;3 g7 N+ T! M1 |" b+ [+ u- I: P
/ ^# k, v9 q( d% w4 H; T
/* create a logger instance */
! [3 _+ H4 ]! q7 k' _9 Tvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
8 y& g9 }, J8 S% W& }: _- ivar loggerBufP = new LoggerBuf.Params();+ B9 w \+ {, `% w, {0 R
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */0 ~1 e* w y* c2 D/ D
loggerBufP.bufType = LoggerBuf.BufType_FIXED;# |: N% h* h; Y8 G
) p3 q) f9 \* Vvar appLogger = LoggerBuf.create(loggerBufP);
0 ], S0 ]- k& r) ^" q$ ^+ _' jappLogger.instance.name = "AppLog_Core1";+ @* j% m! X- z6 r7 m9 b
Defaults.common$.logger = appLogger;2 y, X+ k/ Y$ T% q! |' \, z
Memory.defaultHeapSize = 0x8192; + Y4 P* p5 Z' Q6 b' @, N
Idle.idleFxns[0] = "&LEDStatus";. f# u/ D/ p) x( `' _0 x# ~
Cache.initSize.l2Size = Cache.L2Size_32K;& T4 g! F/ p5 n6 q( ?4 j8 m9 w
X% J+ W. {( _& E9 p- D |
|