|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
. c8 ~/ A/ f8 l% G) n' [9 V我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
5 m/ x7 a- Z$ y% ?6 @ w(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
! L; l& x) c9 t w- N/ }
9 {6 E: c( j% l# G; q是不是需要在DSP.CFG中进行配置! g; X4 C2 o/ y
我现在的配置为
. ?( [9 i6 K. m2 J4 \0 G( b
/ f5 s& h+ T6 C1 v" l/*( k: @+ S7 e* g7 ` Q
* ======== Operating System Configuration ========- g* I# I% @: q4 V4 t
*/ V C+ r7 i- D) L
; F9 `1 s6 l7 `. q8 l
/* no rts heap */- ?. w/ A- k0 g9 {3 Z& {7 }
Program.heap = 0;5 z% \) ?+ I) s+ T' d9 } i% B
Program.argSize = 100; /* minimum size */
3 D8 Z( W1 n# g* E6 fProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
" }5 w7 I2 m# Z4 I# E, a8 F# c4 c4 b. L. Y% f
/* create a default heap */
& N- V" p+ T `# Z! x9 S0 V6 kvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');2 w. j6 {- K" R
var heapMemParams = new HeapMem.Params(); @: l% X: A Q: j/ k6 Y
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大- x4 T' @1 I: Z! ^$ j
# L* ~$ `% L5 nvar Memory = xdc.useModule('xdc.runtime.Memory');
0 h+ y1 }% k( S' K7 d. Q6 g- v+ r5 EMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
, e1 ^* m% x/ k$ g2 y
; ~7 P; @2 o$ t# f& a2 W% I/* configure System module */8 [3 p% H# D: W6 i3 @7 d7 ]2 J q
var SysMin = xdc.useModule('xdc.runtime.SysMin');
0 @; C9 [) C) \+ X- BSysMin.bufSize = 0x1000; ~3 I: j7 Q# |# N
SysMin.flushAtExit = false;) P; J0 m8 b9 {+ V5 Q9 [
' W/ G5 C$ H6 q! K% @3 C# r
var System = xdc.useModule('xdc.runtime.System');
/ ~9 r3 q, }' H. T* v' a' MSystem.SupportProxy = SysMin;
1 J8 Y: U: j) B; ~1 @! _, h! y# L4 e) a6 |
/* configure SysBios to use the lower half of Timer 1 */
* ^" P4 G3 T- S) g6 V2 avar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');/ F% L9 n0 q! S F3 u7 \
var Clock = xdc.useModule('ti.sysbios.knl.Clock');/ N0 ~4 w$ X4 M9 C6 U1 T$ f( s K
Timer.timerSettings[1].master = true;) W" x: t" ^' p; ]$ O( ]! B" j% c* V9 N
Timer.defaultHalf = Timer.Half_LOWER;
6 i7 a9 T7 G# \Clock.timerId = 1;5 E. w0 H' p1 g7 L
# Q+ I3 y+ e+ h' \' Y1 B% ?, O$ |2 z! R/ {) I" F; w1 K' A
/*+ W: k6 Z: Y; A0 `' }
* ======== Miscellaneous Configuration ========! Q d( ~5 v9 v. ]$ K6 Z
*/6 H; m$ F$ v* l
; k6 g9 P# s; n4 @+ C/* set default diags mask */
* z0 g0 y. m( }8 M' s7 p* Gvar Diags = xdc.useModule('xdc.runtime.Diags');
! z$ H" t* _% ~. H4 W/ evar Defaults = xdc.useModule('xdc.runtime.Defaults');
7 d! w* \# s y2 L, \1 m `4 p3 _
. w" k$ X2 C: E6 l) f( mDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ M# ]& v3 s9 f Z; l3 _& G& y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( N3 K' f# e) V* g, G, F. fDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
3 z6 |. Y$ i( m I: R/ TDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! ~9 y3 |8 S9 F7 I+ \: z0 W/ kDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
# Y6 ]' E5 O$ Q7 S8 U! l8 BDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;" p3 `" y. T. z8 @: a
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;* F, `3 P- W( g
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
' f( f2 J' s3 b) iDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
1 a5 c0 c$ {4 @ N3 o. D' d7 cDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;- f4 F+ n' `' G: \2 B: F8 d
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;' z+ `2 y7 T% C" v
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 E" R, L* R% }* TDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
! [9 ?; `( C! d$ M8 ]Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
' v' Y& b# T+ a8 p7 F3 f" c) {$ N* r$ K# r8 `' k
/* override diags mask for selected modules */( D( J6 w' a) B# {: |1 m
xdc.useModule('xdc.runtime.Main');
/ I8 S: h- X/ g; w! m- MDiags.setMaskMeta(2 p V- c, _5 r" K |% b
"xdc.runtime.Main",
4 t3 z# a5 z+ b, o" A! B4 H Diags.ENTRY | Diags.EXIT | Diags.INFO,1 k$ V# ^2 S+ w3 [- q: [
Diags.RUNTIME_ON8 U( N- E0 O/ A
);7 w6 ?3 F9 A5 p+ @8 r
1 n& ]9 X( `" I2 r- \7 B
var Registry = xdc.useModule('xdc.runtime.Registry');
& d6 D I+ E6 P' g6 V8 lRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
+ [! Y( ]4 ^; ], tRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;6 d* O% q: g2 Z- L- C8 `& p
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
: i9 @5 c1 D+ S# d! @: ?Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;* a/ v- [ |3 ^3 d+ [0 p
- m' ^8 e- R: F0 A4 A/* create a logger instance */
x5 [) I2 Z: z# M* }; n7 Y" _# rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
2 U7 {8 u4 E$ B1 N, Uvar loggerBufP = new LoggerBuf.Params();7 J) c9 _+ ^* q H4 K: _
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
' P2 U+ H6 Q- Y: \6 A6 w# mloggerBufP.bufType = LoggerBuf.BufType_FIXED;* `3 v L: X! p6 d L
x) e$ \" [0 T% ?3 a; f
var appLogger = LoggerBuf.create(loggerBufP);
) w6 C0 ]4 L5 ?0 NappLogger.instance.name = "AppLog_Core1";
5 p1 e z0 [0 ?3 vDefaults.common$.logger = appLogger;
H4 F5 F' v5 x8 X iMemory.defaultHeapSize = 0x8192;
- n7 Z7 i6 H- }: i% U; {- hIdle.idleFxns[0] = "&LEDStatus";& _+ m% k. F k6 N2 h, q2 P, z" G
Cache.initSize.l2Size = Cache.L2Size_32K;$ G" C0 E- [6 d7 U
7 {5 A/ ]# Q4 o" g. k' @ |
|