|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 i6 F% v ?* [5 [* R# N6 U4 p
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
1 F U6 ?# H- a4 ^% ^(不过疑惑的是,为何单独DSP仿真就没有问题呢?)1 t. n. a9 i, W" t
' D- R4 Y1 x9 v2 @
是不是需要在DSP.CFG中进行配置0 g3 |% c* W1 y/ [2 y# H( y
我现在的配置为+ e& _5 M! ]( N! [( F! |
( D2 ]5 J( R2 v% r1 f2 N1 `/*
: H3 |. O( _: N0 F. T2 { * ======== Operating System Configuration ========
* z8 Y5 _) p9 | */9 a( W& D$ o( A5 t9 H& R4 }" A
! s: q4 \0 b; r) _2 P
/* no rts heap */
# m% J7 _3 F. n' x. M- X0 [Program.heap = 0;! `% G* p. ~, W( J8 f
Program.argSize = 100; /* minimum size */
. A( x, D+ w9 z1 I5 x: sProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ ?/ `$ P2 n/ [; V( D& t, a+ a" ? x4 Q) c3 a
/* create a default heap */
9 r; s$ N D9 B1 H }var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');$ \ s4 X" n: C9 G% o
var heapMemParams = new HeapMem.Params();
% I. Q7 a) j& p2 r0 W# g' Z& ~5 iheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大0 N, I9 V# M6 ?( A
/ F8 \% k' j8 X/ M" hvar Memory = xdc.useModule('xdc.runtime.Memory');
7 b; E/ C/ ~( W6 W& ]$ I) B4 GMemory.defaultHeapInstance = HeapMem.create(heapMemParams);! c6 M0 S' k% W# V' O% z( l. i
$ S( @9 B6 t( z
/* configure System module */
9 @! r" `% f$ R/ \; M' P% v3 mvar SysMin = xdc.useModule('xdc.runtime.SysMin');
$ r/ W* j; _) G; ESysMin.bufSize = 0x1000;
9 a @: J/ b: NSysMin.flushAtExit = false;& ~" K. N0 T: c
0 S* ~' a% G9 ]- i+ \7 p2 K4 U9 ?' nvar System = xdc.useModule('xdc.runtime.System');" J9 r( _2 ~' Z2 R/ |1 o
System.SupportProxy = SysMin;
2 z: N3 B# H5 Q: Y; K6 F* z E* J( t: Z5 p& o: v& n% @- W
/* configure SysBios to use the lower half of Timer 1 */
8 h) b1 z% ^/ A( [3 Z. \4 gvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');5 k/ q4 P0 ~( j' U% [5 X. b/ K
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
) _$ x2 o9 b& k6 ETimer.timerSettings[1].master = true;5 V) Y( w ^4 H0 f- t- c
Timer.defaultHalf = Timer.Half_LOWER;' i2 ?( r) R' i% m
Clock.timerId = 1;. Q6 O" X2 H9 e6 m; ^ k
9 T& K' @4 s( s; v
$ n8 _/ V3 i# W" u: V6 W) M2 S/*
4 U3 U. a# _8 Y1 ?0 z * ======== Miscellaneous Configuration ========; j, f% B/ t+ T( Z6 b1 ~" j
*/( S7 i: I3 a! j% F
I' t% o0 Y# x9 ]$ Q, y
/* set default diags mask */! W( p5 w! P+ Z6 A5 H
var Diags = xdc.useModule('xdc.runtime.Diags');5 q" Q, |1 V) B- E: F
var Defaults = xdc.useModule('xdc.runtime.Defaults');
* |9 E. k8 [% c" p2 u
0 f, c- T3 @& W' ]0 tDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
; c6 L% [; x; \7 c9 LDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, H4 p; c, @* x% T+ `* P; WDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;/ M- I1 v! C/ G5 Z6 P
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
% g! E" }* o9 sDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% f) d: \: L1 Q4 n: w3 M- X
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
2 X$ L; Y" E0 p6 {0 z* S! LDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;; [* t' c: n' @; F0 Y3 `0 q1 ~
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
. b- y4 m6 f% x/ D# `- }( K2 vDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
+ T3 D* Z5 B/ p5 N0 a* k' b) cDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;$ C! y7 x# ], E. L& g
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;; z0 N8 P5 H$ C- H2 C
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
$ W% K1 n# B* L( ODefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& X9 w8 [$ H' L( e$ gDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
8 h1 ~+ x# F! W, p$ H# @% }) H, h3 \9 H- T
/* override diags mask for selected modules */
4 C/ s/ Y- |7 b9 Sxdc.useModule('xdc.runtime.Main');1 @7 _, x4 ~$ }" A5 B. B" @
Diags.setMaskMeta(
; `- A$ a) ]" e, N$ }$ J k6 X) A" U2 I "xdc.runtime.Main",, {5 B5 u( j6 X4 b2 ]- ]! O
Diags.ENTRY | Diags.EXIT | Diags.INFO,
' h0 Y( }% a5 v! J a Diags.RUNTIME_ON$ T2 L& O4 N+ |* o1 y& ^
);4 P5 ^, z0 v# o9 e/ M
7 i0 c1 L: N7 w, l& ^
var Registry = xdc.useModule('xdc.runtime.Registry');6 G3 h9 Y( a# X5 J7 Q; Q( }5 @
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;- D4 ` k% Y* y# X$ ~* a
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;% ^; B0 r3 {/ V I! ]+ G+ U: M
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;0 I' d1 ]# h/ A; U7 Z3 V
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
- `/ v5 L" P: v' [8 W
1 w' d4 R* R; R# J& E' X% t7 C" X9 I" s# s/* create a logger instance */
$ ]0 U3 J9 X5 W, r8 Q( Uvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');4 ~$ K" X) Q2 [8 W# `, t
var loggerBufP = new LoggerBuf.Params();
! ]! A+ b0 T2 w5 H! hloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */% K! O1 }1 M/ v+ l. e) d
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
8 p, T! l. O% J C1 @3 X0 Q" ~% z; y8 Q' [
var appLogger = LoggerBuf.create(loggerBufP);
/ _; ^4 v( w! x: HappLogger.instance.name = "AppLog_Core1";/ k, \+ {( J: v
Defaults.common$.logger = appLogger;4 H" m" J! N Q4 w
Memory.defaultHeapSize = 0x8192; % n3 I8 k1 D4 L8 c0 Z% t9 t
Idle.idleFxns[0] = "&LEDStatus";
, ]9 K; Y/ d, _% v6 ~# w# L8 qCache.initSize.l2Size = Cache.L2Size_32K;9 f4 I! ~+ o3 C3 }& i1 A
8 ^) A" f! C) A, N9 K+ [, j
|
|