|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
1 _3 B+ [& a# m+ \. p: ^7 o我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 u3 x! E; {( L2 s+ X1 `/ ](不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 F/ ?1 Q6 x' ^
; w0 [" z) n9 u+ z+ x+ o; J* N
是不是需要在DSP.CFG中进行配置8 U8 K, N. m2 J! {# E
我现在的配置为
) }! Q# }5 V* l: y) K& A6 I' U; ~1 [. [1 G
/*/ y* w: T* R5 E( o- E* p
* ======== Operating System Configuration ========
. j& q- W4 B) p */0 D9 _( i2 y3 b9 Y
% p1 m7 q, U! n/ r$ L1 e& N/* no rts heap */8 a- C7 r9 @1 ?/ E
Program.heap = 0;6 u) u' W' T: t: n
Program.argSize = 100; /* minimum size */1 d% S( t3 ^; N& z: r
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
p; F% T3 t; u0 E+ A
, {: P4 v& R$ e9 _0 S i$ g/ q/* create a default heap */& q2 F* R0 l6 i
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
; E4 q4 q4 m# pvar heapMemParams = new HeapMem.Params();- \9 b+ u0 p' \% F! @- p
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
- f+ O0 C9 p' L% Y/ m O: ^6 l3 S' T5 j5 Z( `
var Memory = xdc.useModule('xdc.runtime.Memory');
- A* S g0 E2 \) _9 {, `Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ D' d7 P4 a, {" @( \6 n4 e g
) Y- @, F# O. y5 L" d( y# i2 i/* configure System module */% W7 Q3 A2 n! F1 Y% ~6 A ~0 C
var SysMin = xdc.useModule('xdc.runtime.SysMin');) _/ q1 ~5 C( E- M4 A' t! F
SysMin.bufSize = 0x1000;* U) Y! `# ]" s2 K
SysMin.flushAtExit = false;: c) |+ a% R, M! c5 y! w% p( q1 w
* y- ^9 I/ q6 q9 y9 l) G
var System = xdc.useModule('xdc.runtime.System');! O5 Z K1 P+ ~4 ~6 g$ i* g1 E
System.SupportProxy = SysMin;
1 @8 A1 r0 ~8 U7 n- [- W3 \2 \- A% P# J2 c7 y- V
/* configure SysBios to use the lower half of Timer 1 */; |: R& r. I9 Y( r
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 [2 B9 R7 H8 C4 g x4 n# a, Y" ]var Clock = xdc.useModule('ti.sysbios.knl.Clock');
! l% w+ y( a- y2 ^* M( Y3 \Timer.timerSettings[1].master = true;$ Y$ a- a1 M9 i3 \6 O* i- t
Timer.defaultHalf = Timer.Half_LOWER;. _5 R, e& E: V3 C o
Clock.timerId = 1;
3 g6 t8 `2 U' x2 M, ^, D8 S2 E K& M8 \2 u$ T9 Z6 Y
' }/ J; ^- c; _! l8 F% {* v9 I* e
/*- O' n. \( a+ ?, b' v
* ======== Miscellaneous Configuration ========$ V1 [5 P% H2 g; }% w+ k
*/
5 k* b; ^+ ?0 U4 I$ k+ k; ]/ `2 g* U2 ~
/* set default diags mask */- Z. d# Y4 U. U0 H+ ]" M; |
var Diags = xdc.useModule('xdc.runtime.Diags');
, Z' ^5 Y/ Z3 u+ G# Lvar Defaults = xdc.useModule('xdc.runtime.Defaults');9 e, X8 g6 I% }
6 }, D; t3 q& v$ M. k
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 A" e' W2 i7 j( i8 zDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
P6 C6 K' T; l9 `: ^/ lDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
3 f* r, c. G$ v+ `1 V- t# `; jDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */8 \9 @) ]; E) S7 m4 i0 |
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- W/ p6 [6 m5 C* l/ z% oDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
! e8 y6 ~/ r& }6 [7 t; Q) sDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;' A( h R* s" W2 p, A$ m( b% ]
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
2 X' h. h- q( T/ \& f! `( CDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
/ I) n0 c6 E7 T' sDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
. ^8 F" t& S2 } bDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# G+ L" f% P h L; }
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;$ V; F) D- j( K
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;( a) }& E# S. o) X* i: k6 v
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
' Q1 ^ T4 V! U/ K" \3 n4 g ?4 L* w0 u$ M7 r g. z
/* override diags mask for selected modules */9 d8 A% E5 k! e+ m' {
xdc.useModule('xdc.runtime.Main');3 \/ E5 X% g X- ?2 M2 O
Diags.setMaskMeta(4 M, v6 O0 @5 Z+ H
"xdc.runtime.Main",% v$ F" I8 ?; M: [
Diags.ENTRY | Diags.EXIT | Diags.INFO,: b$ U4 `' }3 M7 u: Z" z7 H) q: s, i
Diags.RUNTIME_ON* s2 D# c1 J; H- }
);
o O9 {; a( V4 ^$ V) I' W9 T! b9 K% g( R9 Z
var Registry = xdc.useModule('xdc.runtime.Registry');
3 }! m. ]/ ^; T6 Z0 cRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;, ^4 V% N! H/ k
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
/ b3 ^# o2 z% H2 X" A* g8 c6 Y2 ERegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
2 h( M. a! M9 N/ z7 y' \Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
* W$ p) E z6 n. Z( A, \& S7 R/ F" H O, ]
/* create a logger instance */
- D4 C& h; q0 B- e1 B, Dvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');( H5 S. u$ O0 T, ^; v, |
var loggerBufP = new LoggerBuf.Params();2 Y8 i# o3 ?8 t. S& q7 n
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
/ v2 J/ g# _! G2 q! \loggerBufP.bufType = LoggerBuf.BufType_FIXED;& L6 h: Q9 \- x% p- t3 @1 S! D
2 j( Y; L* ^! I# ^1 r+ Svar appLogger = LoggerBuf.create(loggerBufP);* ]& I$ ]2 z2 x7 O( O+ I
appLogger.instance.name = "AppLog_Core1";
) N/ R: _+ g0 LDefaults.common$.logger = appLogger;
8 V! _ C g& k G PMemory.defaultHeapSize = 0x8192; ' a7 V( g, ?+ g1 O
Idle.idleFxns[0] = "&LEDStatus";. R1 w* Y* a' }1 O
Cache.initSize.l2Size = Cache.L2Size_32K;, S% @* Y' B# A$ D" W+ [% a$ _- p
3 G" I9 ^3 O9 j0 s% S/ C; T$ K& Q
|
|