|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
% K% ^2 E; u" F5 @我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! u/ @. p7 |" `' P
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
M: }" Q" Y: E$ B( ]0 _$ B% r
$ a) z* h1 a: L8 ]是不是需要在DSP.CFG中进行配置; @: O/ I6 Q' w$ z6 [- N3 s
我现在的配置为
' B7 }8 B( p+ _' Z7 @4 b8 ~" Y1 X2 a4 A0 }) R) k
/*" @4 q$ T. q# u, H# _
* ======== Operating System Configuration ========- Q* ]' E4 f' P# x
*/
- D$ o; M7 g# v$ f
. d) I& Q! T6 K5 v \& j: O/* no rts heap */4 M- O) i2 m- e- {0 b
Program.heap = 0;" Y( d9 e& i* ~+ X
Program.argSize = 100; /* minimum size */& z! y7 [5 K4 C# W+ Y1 W
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大$ ^' ^( @3 S p
) [ `/ m$ X$ B5 ^, Z8 G8 q; L
/* create a default heap */& f) z: {' ]' r( |* G/ Q# Q
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
9 O; x; P+ g, c5 hvar heapMemParams = new HeapMem.Params();* v f0 C, ~% A5 ?
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
* c& R# h0 P. `3 ?) E' q8 e: l& e- b3 B8 {
var Memory = xdc.useModule('xdc.runtime.Memory');
1 P0 K9 H- q! A1 i( EMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
' x1 _% E6 h* e H' t2 x8 d4 E* u( E. }1 M$ k+ j- V# f
/* configure System module */
: x) ^/ k9 B* Q2 G! m- yvar SysMin = xdc.useModule('xdc.runtime.SysMin'); R a( h. Y8 E( G
SysMin.bufSize = 0x1000;* f5 G; \- T+ k, J+ }: ^
SysMin.flushAtExit = false;
! ^! H+ L9 G! t6 u5 o% Z0 S+ Q3 _0 h' l
var System = xdc.useModule('xdc.runtime.System');; F7 n1 Q( i" Y( {! `3 D9 p9 O
System.SupportProxy = SysMin;
3 ^0 {) Z# r% w% X0 e% v
4 g3 M) I4 ^" i& x# b/ {/* configure SysBios to use the lower half of Timer 1 */: k, p$ D3 R K
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');2 v4 M: [# m! b! M/ i
var Clock = xdc.useModule('ti.sysbios.knl.Clock');' _) _4 E) }# I
Timer.timerSettings[1].master = true;
, K2 x* R) e( L+ R: n+ wTimer.defaultHalf = Timer.Half_LOWER;
( h& N( f! s" C" uClock.timerId = 1;8 \7 ?. H( n z* o1 B$ z% ]
" M7 ?& |2 R; |( P) K* N& R
4 }* ^) F/ ]2 @; x* t# a; G1 O; Q/*
! H" r6 l" @$ ]( x" S, _8 ] * ======== Miscellaneous Configuration ========% n! M7 ]5 F* `6 L$ k) X: u
*/! V' q1 }5 e" C: ~4 ?
3 [. a5 R0 B$ A, l6 n
/* set default diags mask */
8 t& u- I" ]8 j6 ]var Diags = xdc.useModule('xdc.runtime.Diags');0 n- P. }3 l Y8 Q2 j
var Defaults = xdc.useModule('xdc.runtime.Defaults');
4 L3 w1 C5 d' p& t2 {
2 s1 X2 F& k) h! S& WDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
+ ~4 t, W+ H$ J `Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;6 c0 `3 _& F* O3 j$ u+ Q/ T
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 e3 |' n w2 E9 U A
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */4 e/ ]3 d4 Y: U o; \
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
& I. d( H. ^6 dDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;) H$ u8 \5 }" q# ~7 B
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
+ |+ m8 _. ^% @$ ^, SDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;8 v4 V1 v' Z4 d) q. h# C) f# {
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;- p4 ^2 Q; m& b9 ?, x2 d6 h% Y5 n
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;6 A" X Y1 T+ @% R# A3 a2 F9 b" \
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
# o1 Z' i5 y- {+ CDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
, _. W5 Z" h1 f, H% A9 y& QDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
' z) O* E N5 _/ _Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;' N: ^- X, \( D2 j4 z
1 {% ~" ~6 t$ C0 r( V! M
/* override diags mask for selected modules */
" ?) a( T: r, f' ^) U" E* k3 o! xxdc.useModule('xdc.runtime.Main');
9 F- |3 {! b4 K2 e6 N9 }Diags.setMaskMeta(& ^" z" z- o1 x6 o; `% M
"xdc.runtime.Main",7 {; E$ y# G5 g( F
Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 Q* z9 x. b" @! {1 @8 W Diags.RUNTIME_ON
f; ^$ j3 `5 \7 ^' |);
& p+ m/ u4 C" e; X7 Q- f# g- c# O7 E3 g4 ^2 h1 {; |" y
var Registry = xdc.useModule('xdc.runtime.Registry');' M: k8 O2 N& \- D; H) m3 C9 j, B
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;) D' @- s9 j6 G6 H- t0 z
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; e+ ?. A7 P0 f- C$ g! D2 vRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;. n+ L w2 C5 y& ?: e
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;9 \4 `2 y) y3 ]' [- }
! R( @! m7 f6 V" B/* create a logger instance */ M9 Z5 P2 i0 I' N: h" n! r% Y
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) r' @7 k5 S: j: w- r1 lvar loggerBufP = new LoggerBuf.Params();
" ?# i) d- b. X2 {" d9 }loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */) T, s, b: X' i' A1 W% o) Q
loggerBufP.bufType = LoggerBuf.BufType_FIXED;: }: \' T* v6 d a+ N5 t
9 S$ Q: o# T3 f( wvar appLogger = LoggerBuf.create(loggerBufP);# x8 Y1 }; h4 `3 Q E3 p D# b
appLogger.instance.name = "AppLog_Core1";
9 e/ k8 \/ L7 X/ m' iDefaults.common$.logger = appLogger;" Q _$ f+ `& p. U8 _- F1 X! s
Memory.defaultHeapSize = 0x8192; 3 K0 d1 [$ }. {9 |+ S& u) P0 ^6 v
Idle.idleFxns[0] = "&LEDStatus";
; \2 v# k6 y- i2 _" p+ O& hCache.initSize.l2Size = Cache.L2Size_32K;! B h' a3 k' j8 h5 B2 N
% k) R/ L% k$ g& D. N4 p4 n
|
|