|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 ]- r3 T. y+ L我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下) ]2 V9 @2 Q+ M$ z+ h% Y) f
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)7 P8 w: c* w3 A5 [' [
( y$ e$ W. F1 G8 }, Z4 f5 a; G是不是需要在DSP.CFG中进行配置
3 ~4 C. |, ?1 ^) c6 C/ j3 k我现在的配置为
- A9 U3 T! S' j+ w- _/ t- g
( B3 A* {& e, \- s& S) F$ L/*
! V& h- C' G B* g" n1 x K * ======== Operating System Configuration ========
( b& t( U7 _2 M+ A1 _ */
6 U4 p$ }: ^8 U
' U( {7 d0 s' w: q/* no rts heap */9 J8 b/ l1 n" E1 B7 P
Program.heap = 0;
@7 c2 u- A$ hProgram.argSize = 100; /* minimum size */
: \5 }' Y* F: P' }$ X7 HProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大$ ]% D9 j7 t0 s& A# p1 z& ]
( u0 i! }( p0 E/* create a default heap */
* ]* i3 J! m( ]9 W/ e1 E0 e$ @; vvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
- i& V" n$ m2 Dvar heapMemParams = new HeapMem.Params();
2 B8 i5 O" S7 X2 V$ T/ D% j9 CheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大. _2 f+ P+ d5 j6 i7 k5 Y1 p
1 Q& S, M3 c" j0 v, |/ dvar Memory = xdc.useModule('xdc.runtime.Memory');3 ^# B* w6 o' O J5 Z
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
% P- W% X3 A) M
' U( Z3 J- ^1 v. U( h/* configure System module */
- E: a4 U; d; Vvar SysMin = xdc.useModule('xdc.runtime.SysMin');
5 C0 P& R; A& hSysMin.bufSize = 0x1000;
9 ?( ?. H( |" x: y( [# p8 a) P, wSysMin.flushAtExit = false;* P4 {! B8 H8 ?/ [# f' d0 L/ u
9 q% d% ~, G9 l _% M: P. s1 F i
var System = xdc.useModule('xdc.runtime.System');& F4 s* Y. I0 g+ h2 w( X
System.SupportProxy = SysMin;
0 F6 ]5 f8 v' O( ]+ z1 f& ]7 |( r0 X5 g) ]. r
/* configure SysBios to use the lower half of Timer 1 */, j8 W T4 {$ V- ]% \3 |. K' N7 [
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
# ~4 s3 |6 M+ I" Y3 |! pvar Clock = xdc.useModule('ti.sysbios.knl.Clock');5 p( r" U" g% {( ]
Timer.timerSettings[1].master = true;
9 J" k. [% V. `9 q jTimer.defaultHalf = Timer.Half_LOWER;
* w" V8 a9 k2 @, g$ i+ PClock.timerId = 1;
$ A- l2 a6 r6 n8 R3 t J- t2 R0 W' t6 t4 D& d$ N4 V$ |& L# Z$ s+ Y
/ |" ]1 ^1 U2 K; ?
/* Z" U/ l$ `6 @3 p4 b
* ======== Miscellaneous Configuration ========
0 E; f) b1 M, G8 L a. w1 _# q */6 x2 `1 o6 I7 x9 i; c
! [5 F; }8 q* r9 w. V, j; X; o$ `
/* set default diags mask */
$ L F9 M; G% k7 ?0 F2 C5 \7 jvar Diags = xdc.useModule('xdc.runtime.Diags');
- ^7 k7 q# b. P" Z, `9 l2 l+ Rvar Defaults = xdc.useModule('xdc.runtime.Defaults');, \/ F# \+ u* z( | O; f4 j0 v4 I p% a
& w- R( B5 |( G* Q9 ]" ~: G0 C8 V
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;# k. n1 G8 X$ c" s) b
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;7 O s& ^2 W) Y+ a" b9 F$ S
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
7 R5 `2 Q. u- k8 }. j' Y! oDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
9 ?1 J( C5 w I) N( k+ s$ i$ P& zDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
) P( l# @* K6 N9 w; [! T; c$ M$ FDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;: _8 P4 X9 i+ W4 e
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
" z8 R% g& c$ TDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;( c. v7 P5 h& U' s5 R3 b
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
; ~$ _8 N" ^3 m+ \) Z7 fDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
5 N: i: O2 r' J) z& E0 ZDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 n2 {' f8 W, m jDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
+ M4 N! Q$ ~2 ]6 ZDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
: j( l2 |7 S0 {! MDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 Q7 a' D: F; p7 |: Z
* ?0 m( [ ?! [4 { l0 D/* override diags mask for selected modules */
( D; J9 \) _& z0 l$ {xdc.useModule('xdc.runtime.Main');( z5 K8 ?8 d5 e* T7 [
Diags.setMaskMeta(% d2 I# P: P- x
"xdc.runtime.Main",
+ p, r1 m2 T6 c Diags.ENTRY | Diags.EXIT | Diags.INFO,
" v- d4 J4 U- e: D' |# C0 q/ G Diags.RUNTIME_ON
1 v, t @7 x d# t6 n2 U; ?: g9 });! W0 f$ p! ]8 G# g% }% z& E- X
, m6 c2 j ~0 {' s( @/ y
var Registry = xdc.useModule('xdc.runtime.Registry');
! U# m! }6 y1 {; B1 Z: o# _$ @; G9 w: fRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: v! }9 k$ Z# J) u
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;. Z# m) D* K0 l
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
7 R9 F- D8 \6 W% J4 nRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 a9 g" Q$ w" p
8 X( j8 g$ Y" m# A8 m/* create a logger instance */
" p- F) D- s% \) s' c1 c8 @8 \var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
: O3 ~! C. }! evar loggerBufP = new LoggerBuf.Params();
0 |7 N" V8 @' W+ Y4 Q$ E" JloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
0 Q+ q# A! n1 t$ C' Y1 j+ ploggerBufP.bufType = LoggerBuf.BufType_FIXED;
* ]7 x+ n0 T3 f8 d- t# v
5 D4 ]! f L, p- D" qvar appLogger = LoggerBuf.create(loggerBufP);8 `+ M& d' j; L; Y. L" e1 n- x) M3 q
appLogger.instance.name = "AppLog_Core1";
; D1 }: l& [; m VDefaults.common$.logger = appLogger;
* {7 U% C5 _9 a/ g' g% B- z# Z3 \Memory.defaultHeapSize = 0x8192; + z) A0 w) e2 o
Idle.idleFxns[0] = "&LEDStatus";
6 i3 t& Q. \9 L! rCache.initSize.l2Size = Cache.L2Size_32K;
# O: U# V: c: o+ k' O8 S& y+ P4 K/ I( l
|
|