|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明% B, H, v1 A+ `1 L4 N9 H
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下) _/ W6 v6 i7 c: B
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
" K0 N7 Q* Q. E: w+ n" ^+ r; N" ]/ P. U" y, S1 O
是不是需要在DSP.CFG中进行配置
! z$ g. Z# o0 U我现在的配置为
( D6 Y& K6 C4 s) m; u; S' L) o" S. }* r$ V$ v
/*
& t1 c) X X8 M * ======== Operating System Configuration ========: u" s2 Y5 g" N& G$ v" e, {0 `
*/
u, X! h, Y$ o
- l/ a( x4 {2 ]+ A& c/* no rts heap */
: V8 Y6 n" I0 L' KProgram.heap = 0;" g1 \$ g( i! L0 D9 P
Program.argSize = 100; /* minimum size */
( ~, X5 x- s" |! M/ i) UProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大) i; W. s+ y# Z- |6 s
0 E8 q& | @1 O& ~; w- Q
/* create a default heap */
7 o( l/ j" B9 b% t1 N; q" P2 I1 evar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 ?: _4 M3 h4 g) j# K2 s/ \$ P- o
var heapMemParams = new HeapMem.Params();, |3 E+ j6 a Z: g; Q. j
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
5 N: |$ S6 t( ~: o% m ~, P( ~6 H3 O1 ]! a
var Memory = xdc.useModule('xdc.runtime.Memory');; C# H: Z: u. g* c1 q
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);- P3 o( f/ h4 d' ~) s2 h
, N- E+ g1 ^: l. U4 B+ a1 X5 b/* configure System module */
" ]6 x7 l, u3 R }0 u E) k+ xvar SysMin = xdc.useModule('xdc.runtime.SysMin');1 j4 B9 w9 s/ z" X; |- ]/ ~
SysMin.bufSize = 0x1000;. P o1 Z, \' F2 R0 Y& \2 K! f
SysMin.flushAtExit = false;
" W- v7 _, G! ~; t/ T0 c6 V# b9 W) J6 `2 C# c* b3 E& A. ~! H
var System = xdc.useModule('xdc.runtime.System');
) \3 }# S1 [" XSystem.SupportProxy = SysMin;
) n& K: Q; F: g8 n# ?. S
! R! y7 {3 V5 d. Q- O3 z/* configure SysBios to use the lower half of Timer 1 */
& T [, T) ^( ^var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* M% k" m) Q8 |2 o" H& g$ `- R. kvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
" i1 g& d! C HTimer.timerSettings[1].master = true;
2 k! l1 ]# U4 Q: Q& UTimer.defaultHalf = Timer.Half_LOWER;
6 L7 g! D' p& s- k7 c% v9 E8 w) }Clock.timerId = 1;* l6 d4 |9 V3 S, G9 U9 T# C
" z3 k( U1 j/ K0 n
' c- [5 B' E- _3 V H' t/*) M. Z) T3 ?' G
* ======== Miscellaneous Configuration ========& k( t# e' I7 p8 D1 u/ @" w$ X7 h# x0 y
*/
5 H" [/ Q2 g: ]9 b1 y0 B4 B% ~6 O5 V3 ]1 r1 H4 @+ h
/* set default diags mask */
8 F. U# Z* r) Fvar Diags = xdc.useModule('xdc.runtime.Diags');
+ O4 ]9 U! g. S4 t. Zvar Defaults = xdc.useModule('xdc.runtime.Defaults');* H+ u8 O* N4 C3 ?1 ^1 w& Q
: l, y; N5 @# k
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
6 H4 L- q7 `( hDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
- A/ [5 ?# T5 Z/ VDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;% ^1 u1 ]. b: W
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */6 y( F. n0 K" ?1 Y' K( A
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 t$ G7 k" x ~' w3 i& r
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; d8 [7 n1 M* k7 x2 T* I# sDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 y# T( y* d k& @7 {
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
1 ^" r) M) B+ [/ i9 q2 `: R1 qDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ a8 u0 u) d% P3 c) S, RDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;+ x. s7 e) {7 z; G
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
; N6 f' Z, P s" p7 jDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;$ F; Y& t7 X7 h; L2 r
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF; ]4 X0 |) O) K5 N& _ I
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
: [7 V/ \# G7 a) b
, s+ a$ k( t2 H/ C/* override diags mask for selected modules */5 F( {( O7 r* C+ b4 j
xdc.useModule('xdc.runtime.Main');; _6 y7 C, e: P9 {0 R& R
Diags.setMaskMeta(# ~, l `0 m1 W* v/ R
"xdc.runtime.Main",; t, Z* m0 z! F% H! u
Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ i' b$ Y& [; o Diags.RUNTIME_ON
& ~8 T7 O0 P+ u8 Q# U1 @);. b1 p9 \% b8 [0 f: @
+ q2 s4 @% W3 E, D6 D( F c: P( D% C0 y7 t
var Registry = xdc.useModule('xdc.runtime.Registry');
& C$ c5 w3 I4 C/ aRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;. R' f& y& F6 i% v% b
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;: D9 F2 e! x( L5 [* q, q
Registry.common$.diags_INFO = Diags.RUNTIME_OFF; c" i: a0 w. N9 }) @+ ~2 Y
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;6 y) e* r( a3 }9 s
4 r% e3 g3 ~# Y+ I
/* create a logger instance */, ]) W, @' k, o/ F0 f
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" P5 p: l9 R2 n/ ]* |
var loggerBufP = new LoggerBuf.Params();
4 e. f: _; f% D. W3 N+ I3 hloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
' d8 g. u% i# `! H2 DloggerBufP.bufType = LoggerBuf.BufType_FIXED;, X' R' {- X* @6 p
( r$ E4 O+ P5 S9 N
var appLogger = LoggerBuf.create(loggerBufP);
! g% e3 A! B a' Y ?! rappLogger.instance.name = "AppLog_Core1";
, z8 a7 P$ v' Q6 n3 H0 ?+ d% \Defaults.common$.logger = appLogger;
2 y9 i' o, ?8 F+ F6 AMemory.defaultHeapSize = 0x8192; / `, I* a, p, t# Z
Idle.idleFxns[0] = "&LEDStatus";+ Y9 y5 T% D5 ]; w4 O
Cache.initSize.l2Size = Cache.L2Size_32K;9 m" s1 U" e; s' p
0 F- A6 x' \+ z* [. I
|
|