|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
" [ C( C+ u% }9 `我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
$ n# B+ Z! r9 l3 {- V9 @4 c' M(不过疑惑的是,为何单独DSP仿真就没有问题呢?)$ b$ p) ]* @- M5 h* \, N& h
4 m8 ?7 {5 |' {+ e% }/ C4 s `9 T' Q
是不是需要在DSP.CFG中进行配置; H3 m; J5 o- |: x+ q X
我现在的配置为
{5 M. v4 T) y& I. {# U' {' c& f8 |8 P. W ^- Z
/*& I( M2 e5 Y, y- L9 T/ N
* ======== Operating System Configuration ========) ]4 R1 c2 S! l. ?
*/( a r3 d5 R E H5 h( |9 J. a
) G$ q& K7 D' {7 y+ V, s- b
/* no rts heap */
1 l! j8 i+ E6 n1 G$ k) ^9 I/ BProgram.heap = 0;; `3 `8 n0 Q+ a# H5 T2 X9 w
Program.argSize = 100; /* minimum size */
' P* k# J5 P# q( _( c6 H; uProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 h4 ?$ O7 ^# S, ~* a- c
y% u0 ] M, S: n/* create a default heap */
, n: @* @- I/ Nvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
; h& N) t* T& A$ r0 b7 J/ l3 Y, Svar heapMemParams = new HeapMem.Params();
. t' ]2 j. n9 y, KheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
1 @% g3 A0 C N" F* b! z5 {. q: S5 ]
5 d1 |. H7 P) K) B0 q+ g2 |var Memory = xdc.useModule('xdc.runtime.Memory');
. U6 d3 Z) l8 Q* i) E. \" }Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
/ G% } a( k/ R2 @5 D
4 a3 P) f8 F" @, ?8 p/ Y/* configure System module */
|0 B7 i0 W8 N- ]2 mvar SysMin = xdc.useModule('xdc.runtime.SysMin');% k8 k1 N5 E( I0 K$ [- _
SysMin.bufSize = 0x1000;# Y; K% t6 `! N; ~" F
SysMin.flushAtExit = false;
* J$ N, I1 g( t
* @/ }6 _. c* Q" c1 N! svar System = xdc.useModule('xdc.runtime.System');
6 }; U r7 j! N1 dSystem.SupportProxy = SysMin;( M& H, y0 x+ S9 F
; W d" }% Q/ ^
/* configure SysBios to use the lower half of Timer 1 */
. U3 R# c( }; x1 ivar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
7 m; {5 n$ L0 U+ }2 |5 z0 Svar Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 b a( G2 ]1 l! g3 f: u4 @Timer.timerSettings[1].master = true;# S N! P6 ]; ` C
Timer.defaultHalf = Timer.Half_LOWER;: b/ K) x" T& Z& f6 u5 c
Clock.timerId = 1;) s5 a! R$ D' e3 e: i- V& N
; {3 N# r/ A2 y* c9 S6 r' R7 y+ Y& i k3 W9 {# z' @# N, V
/*( A; |: T" F" c; ] Z+ o4 [' v
* ======== Miscellaneous Configuration ========# T+ \9 g4 T. q
*/
4 J7 _" d; R# b3 I& k; J8 d( ~# N9 x
' e5 d) M% x2 e8 G( A% K/* set default diags mask */2 e3 h: J6 |7 k& X6 G% d
var Diags = xdc.useModule('xdc.runtime.Diags');" ^7 o) n: ]' | u T' h; h
var Defaults = xdc.useModule('xdc.runtime.Defaults');0 s4 r3 Z9 c3 K( E- ?4 s; D
% t3 U, [) K- ~# ]Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
# ^0 z9 D# b& nDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;+ F" z7 c- R* r( H( \: W
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;4 N: ^, J; \# a: E* s+ c
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
# j& ]1 E( Y4 Q7 \Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% t' k/ {5 n c
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;5 t2 E, {; q5 L7 Y+ r' m0 R
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
# C" o6 P3 C0 C: HDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
2 E t6 ^ ~* R% U, m; ODefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
; q' U( E3 Q- R4 \1 O2 U1 qDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% X) Z p0 \! _0 K
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
8 O2 e0 x* T0 G3 L/ RDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; }' e5 E$ T, T! w
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;" E2 @3 N% b" B
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;3 _8 e/ y: q0 ^0 X2 W) Q: y
8 J% u2 j3 O# _. d& C
/* override diags mask for selected modules */
8 B; x$ f& P: Fxdc.useModule('xdc.runtime.Main');
6 f, e9 ~# B' t3 C7 I: p" ?Diags.setMaskMeta(( u: V0 D {2 w* v6 ]- E8 K! S' V
"xdc.runtime.Main",6 y+ J, t' G) h& x$ r, ~6 W
Diags.ENTRY | Diags.EXIT | Diags.INFO,' _' n6 d' H. ~
Diags.RUNTIME_ON
2 ?/ O3 e. u' H0 u. N+ y' |);( H6 m2 Y5 n- p* h1 b
8 x$ v0 w+ ?% P/ J: Y
var Registry = xdc.useModule('xdc.runtime.Registry');9 k. K# ~/ z2 e6 B
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;9 [/ d- e( `8 x& v- i' x. N
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;/ Y! |' e! c' Z( K4 ]
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;1 s5 N' R9 o5 f- @5 e$ b5 D
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
* g% r2 F' [6 c1 T) f
+ g2 m. t* @* ]/* create a logger instance */( \; Z8 c- |& W! |
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
& G1 z# Y5 i5 L8 P" j$ j' j1 H3 }var loggerBufP = new LoggerBuf.Params();
% D! k5 K; E/ Y+ r& o: BloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
3 ]( X- b% W W( ologgerBufP.bufType = LoggerBuf.BufType_FIXED;: e9 |, T2 }2 Q* P% v% u% `
. j' F- G6 y7 Y9 Lvar appLogger = LoggerBuf.create(loggerBufP);
2 y _# T* Q" q' P4 t5 F7 |appLogger.instance.name = "AppLog_Core1";
: v1 y( ~2 D+ EDefaults.common$.logger = appLogger;; W; @" _' V! m2 ]4 Y. G% g: F0 g
Memory.defaultHeapSize = 0x8192; ( X I% B& V0 i' r. M
Idle.idleFxns[0] = "&LEDStatus";
! Q% e' X. ]2 k) O' B1 r7 sCache.initSize.l2Size = Cache.L2Size_32K;& A" u, b: i# w( w; b- K9 l% s8 T! T
% Y, N, `6 h P. w
|
|