|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明6 a9 y) \* \$ U
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下0 c4 n! u: {" q- T* n
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
: j" B7 a- Z: A4 M
% f5 V7 W) r; B" g是不是需要在DSP.CFG中进行配置
! R& o" Y/ y# v5 Y( N我现在的配置为8 I+ I+ b' A6 n* I5 q5 `
1 v$ D- C, m) U8 V' ]( Y1 y
/*7 B% g4 j: _: ~) z
* ======== Operating System Configuration ========
# l+ R: e; o7 X" L: D. {, R+ z */' o! ]" P0 G* B8 E& u7 Y2 p
+ ~9 O( c: \7 p$ p9 ~/ K( }- j. _& M
/* no rts heap */
9 Q' H. f4 }) d& ]# K, c$ w, TProgram.heap = 0;4 k9 o8 f2 `6 |* D7 _2 y! i* ?
Program.argSize = 100; /* minimum size */
/ @# U9 W9 R. G6 [0 i% Q. m1 }Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大' P. d) X0 ?1 @' K6 N: Y
+ g5 l. V3 ~' H+ s' T9 N/* create a default heap */
' C6 r+ \& n4 m' n8 e. [5 E1 j, q: Bvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
- I$ q! r. `" I$ R y1 S, s) c. Vvar heapMemParams = new HeapMem.Params();' o ?; A; S# \/ y" [2 c% k/ V' y
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大$ _" E+ h. n! }3 }
2 K6 N3 n9 L5 |- y$ n
var Memory = xdc.useModule('xdc.runtime.Memory');; {( p* Q7 c; _- d0 M
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 {) V/ c; d5 }* j& T: i+ V+ i9 y6 p7 M# Q
/* configure System module */
2 N3 a1 \5 j# k# Xvar SysMin = xdc.useModule('xdc.runtime.SysMin'); i- |5 o5 b; C) B1 u
SysMin.bufSize = 0x1000;2 ^& T9 S: N$ _; I
SysMin.flushAtExit = false;% \( C% q% s/ p
2 G7 b1 R: X/ D* P6 e0 e3 o3 _var System = xdc.useModule('xdc.runtime.System');
1 J/ L9 N q& e F( V- Z- DSystem.SupportProxy = SysMin;' ]. S! c. v1 a( P7 A4 U' w
9 v% D: @$ L8 @6 u1 D' A- x1 i# q
/* configure SysBios to use the lower half of Timer 1 */+ R9 U L1 Q; ]. C5 Z4 ^
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. w- n- R8 g' @3 {2 v4 |var Clock = xdc.useModule('ti.sysbios.knl.Clock');. | _6 \' G" l4 H
Timer.timerSettings[1].master = true;; }9 c# ~2 Q) |2 L. _" d0 E2 D
Timer.defaultHalf = Timer.Half_LOWER;: z+ P$ h5 u2 l5 [5 D& b l: T# P8 Y, ]
Clock.timerId = 1;
; s* z7 t7 K+ ~6 I6 ?- J% a! p1 I, [1 `
. T4 w X1 t* O8 O& n8 G |( x2 ]9 c/*9 D3 C" p3 A0 c' u: Y
* ======== Miscellaneous Configuration ========4 V+ {, U2 L2 q: d& b6 u
*/8 N; u6 s: _ H' M: b
4 @1 e3 _$ S7 t8 L/* set default diags mask */3 w$ W) n$ w; V3 b3 n9 ^8 X
var Diags = xdc.useModule('xdc.runtime.Diags');: J: x9 @# ~7 d% o* s
var Defaults = xdc.useModule('xdc.runtime.Defaults');
* r( d$ F/ J8 [. @( }7 E/ _ h! @0 ?
4 U }' n- B. z' q9 t' LDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
: s0 T0 c6 ]- z. ]! I+ |Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;/ T5 y) ~8 l0 u. K& ]3 M; ]# z
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
( q3 Q7 p3 B" I8 q0 `2 z: tDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) Z: \: D1 U* I2 V8 GDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
1 k3 f4 c2 Y! f! ]( EDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;) l, b- X" w, r
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 p8 Q$ t, v9 O c9 ?Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;+ c) \1 S4 H2 k7 y$ R
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;; {% ]6 f7 \- h/ q/ T3 p
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
, ]; g6 D& t3 Q4 t$ G) t% p4 h4 eDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;1 O3 X' e& ^ l) H$ u f4 R: }6 J" ?
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;- S& T8 a, w$ j
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;6 t( p% r- T* ~" e( y f3 Y4 U
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
( A) k+ W% r# @
, L/ N1 L2 _# H1 t9 r/* override diags mask for selected modules */
2 Z8 @! v0 @) R! @6 d' hxdc.useModule('xdc.runtime.Main');
3 M) C4 y0 C. C7 S. HDiags.setMaskMeta(6 L* t% t% @" V2 T. p2 B
"xdc.runtime.Main",
6 K* I0 L* D, ?& M) O Diags.ENTRY | Diags.EXIT | Diags.INFO,$ E6 ^8 u7 g: n. [# G4 J; Z$ f0 g
Diags.RUNTIME_ON
3 l! r1 _& f- \ u);
% |) ^8 v# p: f1 ~6 c. D& m
G/ Q3 w+ M7 F# w* g6 Nvar Registry = xdc.useModule('xdc.runtime.Registry');
4 X2 b6 i! u+ q& ~' E( xRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
( m* [! \% e! G! |* ^9 _3 `: X# f4 FRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 l( q: q; f7 VRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;7 w% p4 |9 W% s: g
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 k9 t9 i1 l4 I( b% [& n! E$ a
2 {1 z. P P# o) `4 a/* create a logger instance */9 Y& F# F# m8 Y9 J- {$ q0 L
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; z& j* Q/ M# K5 b& jvar loggerBufP = new LoggerBuf.Params();. C3 b- R+ P! }7 i1 d" v
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
% a% j& }) y1 h' c8 iloggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ Z; m0 Q0 T; I9 u& I/ Q7 ]0 y* s5 H% G# i( f! ]$ e2 b
var appLogger = LoggerBuf.create(loggerBufP);$ J$ f' ]0 v* K/ |7 f$ X. R, M
appLogger.instance.name = "AppLog_Core1";
2 L# M% m- a: D8 R5 \Defaults.common$.logger = appLogger;
, j- [( z( n2 R/ q5 ~' Q' a1 a- C5 DMemory.defaultHeapSize = 0x8192;
+ }7 M: ]$ y' P8 yIdle.idleFxns[0] = "&LEDStatus";
& s: o! m8 ~. Z: q/ R( bCache.initSize.l2Size = Cache.L2Size_32K;3 s2 e+ G1 P0 b! M) `
$ E8 i+ a h$ Q/ Q! _
|
|