|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& T; p( i2 p# ~# {我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 O5 e* V8 }0 O5 N; v1 G(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
& M5 k# ~3 R. E0 P" i5 s2 k' [( B6 r6 A1 m1 `. |
是不是需要在DSP.CFG中进行配置8 }9 J) ]* t. y; b g1 c
我现在的配置为3 [+ T$ E; G. G" j
7 X$ Q! I0 ~/ c. }1 c# P/*3 z& c; s9 r7 A! l2 ^
* ======== Operating System Configuration ========2 M' u" D5 l$ ^! T1 G; O
*/
* p9 B" V l2 C3 o; X" V2 c" w0 V' U
/* no rts heap */
% w, {6 X2 F( y' n. jProgram.heap = 0;- `- @# g F: I! D+ o# @
Program.argSize = 100; /* minimum size */
8 H7 q% D: S2 l# yProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
3 L3 x, n; t+ m$ A5 u7 w& w0 r5 j; O/ t* [4 k6 |3 x
/* create a default heap */) P, Y6 I7 _' w! e( q* { O! h
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');) n, |' t* x4 G9 I: R A6 m. D
var heapMemParams = new HeapMem.Params();
3 Y" M% J% Z; g. q; ?2 W- ^. |heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大. f( ~" |3 V0 G; v- n' Q) I
1 C: I* u6 K+ r/ P5 N
var Memory = xdc.useModule('xdc.runtime.Memory');
& f6 Q' @5 z1 {0 FMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
, D. R7 p! Y4 {" g+ L8 ^' ? y) {/ R" `2 e% r3 |% H. {) S' U: Y
/* configure System module */
( r$ ~' c; c4 L4 Evar SysMin = xdc.useModule('xdc.runtime.SysMin');2 c# _/ S* D D3 ~
SysMin.bufSize = 0x1000;
$ z; A- m& ^; H$ P' `1 ESysMin.flushAtExit = false;( [& |% j1 _+ Y% x( j
' B& S* e1 x0 H: Vvar System = xdc.useModule('xdc.runtime.System');! B- H0 e0 P2 V" `6 Z9 b
System.SupportProxy = SysMin;* P; V' O3 E1 x9 l& ] @3 g
0 e/ i) [, O8 z' Q/* configure SysBios to use the lower half of Timer 1 */
6 t# c( V R/ x4 ]% E# Y6 J( n- Pvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');& Z1 o2 p/ ]+ q" l
var Clock = xdc.useModule('ti.sysbios.knl.Clock');4 E: k0 j6 }& f. J' k
Timer.timerSettings[1].master = true;
; F( O- _0 t/ l4 B% {# qTimer.defaultHalf = Timer.Half_LOWER;
2 \5 G5 {, B. X0 h2 _" uClock.timerId = 1;
3 o0 E' @& |. D. w: `: h2 ~* a; P0 I. D3 w$ V! f
+ a" ~5 R# K* g$ @0 `: Z& ?# ~. A3 m
/*( D% H" h' @! @3 i* H0 R; A+ ]
* ======== Miscellaneous Configuration ========
" t' E, ~3 ~9 T- u- ? */
& p: f: _& r5 y( s3 v+ x$ {# O( S( T/ S4 _7 N( E5 `
/* set default diags mask */* R$ I$ _5 T" n! B W' G7 j* p6 a
var Diags = xdc.useModule('xdc.runtime.Diags');6 \ R$ l/ D8 h2 k
var Defaults = xdc.useModule('xdc.runtime.Defaults');! x( h T6 v v1 c
* Q! M0 J& `; v+ t; ~8 u0 r P5 L. qDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
0 r5 d2 g/ ]+ |# rDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 d3 b) B$ |3 s; k
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;5 } u& d. x2 ^: K7 B+ J
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
" g5 D1 I. F% H2 b! _9 uDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
( f1 i6 c: {4 L0 C* w' ^Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
0 |& G+ |+ P% ? v0 `Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;3 ?$ p* C( ]2 y9 \; q
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* g, ^( ]$ W# O+ C0 Q9 J! Z1 i$ \
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;. m$ N% n E: ^/ p8 I& Y
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' B" k9 d j& `- H: t5 Q8 z7 p/ ~Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 y) G+ y& x* \4 ODefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
2 [' G0 I- E) EDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;7 o7 l. c3 U: i. E+ T3 [: s
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
/ b$ t: p1 D. c1 I. X
v' @9 [" x7 l/* override diags mask for selected modules */1 S0 A; S+ a" ^# W* t
xdc.useModule('xdc.runtime.Main');
6 V) x" j' n* k+ M3 E. A$ N1 ADiags.setMaskMeta(
8 ~& C! S* V% J+ [4 N "xdc.runtime.Main",
1 o( d: r* F7 ^" I: R4 b( F) W Diags.ENTRY | Diags.EXIT | Diags.INFO,
* W& @* ?0 Q) O5 Y- R/ X Diags.RUNTIME_ON
7 E n) ~3 n) j1 C% X+ f);$ j1 r- W; J, M* _# u% Z6 J
3 Q5 {5 e- z3 B# Fvar Registry = xdc.useModule('xdc.runtime.Registry');8 t( b0 @, E7 f; J- d
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;! g0 `& a: g* e" J
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 W$ n/ ^8 j3 W
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;6 M/ R$ q' G4 B' s2 |
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;5 k/ m3 ?: l9 _
w3 ?8 E# W9 g- A e' @2 T
/* create a logger instance */" {9 w. Z. s8 L0 d
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
, H0 t$ X0 _7 A! ~/ K% Lvar loggerBufP = new LoggerBuf.Params();% y% x$ p& W8 I/ H1 ]
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */) F% n2 H+ L4 Y
loggerBufP.bufType = LoggerBuf.BufType_FIXED;2 d" @& z3 a- t8 m; j9 C
9 }& ^0 |( d8 f$ L: T3 d6 S4 {+ q
var appLogger = LoggerBuf.create(loggerBufP);2 ]( g, e; M! c5 w/ i
appLogger.instance.name = "AppLog_Core1";
: z3 m" S" X; v RDefaults.common$.logger = appLogger;& c5 N" |6 n% J- W
Memory.defaultHeapSize = 0x8192; 0 G3 @+ \+ ?9 w$ x( U" S
Idle.idleFxns[0] = "&LEDStatus";7 m; N- |( B8 p* B0 ?
Cache.initSize.l2Size = Cache.L2Size_32K;
% t+ ~5 u" T. V$ c; w5 ^8 B! X' r$ _+ f
|
|