|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: g! I+ u* s7 @* }) \& t" |我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
w! Y) m. U5 S(不过疑惑的是,为何单独DSP仿真就没有问题呢?)! G7 z" n) o; J4 ~
# v% y2 \" Z/ A: w w0 k9 J( t
是不是需要在DSP.CFG中进行配置# ^' B" C9 W% K& k( C
我现在的配置为% n9 ?. P1 E: o% h
4 p+ X+ {. A! m* G$ ~
/*
* e6 {4 M) j. h' i$ ~ * ======== Operating System Configuration ========
1 g1 j5 s# q* q, ^+ b4 D C* i! q- W */
" {+ [- Z8 |7 I0 r6 p0 b: \' M" ]# T; d/ K0 t" P
/* no rts heap */
3 a7 \: ~7 ~1 _2 C5 a* X; TProgram.heap = 0;- z! T3 Q5 y7 D. c- k/ Q$ m
Program.argSize = 100; /* minimum size */7 j) \& ^7 U" e: S# M
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大- p' M8 ] y$ B7 w$ E, K2 Y: ^
. i" j3 W5 Z& D; V, v0 C) W
/* create a default heap */
) l* g9 }7 T$ g% yvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 G/ m+ D5 G( Y$ O6 }
var heapMemParams = new HeapMem.Params();; ^" t/ {% h/ I2 m4 Y& q+ p7 u
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大 x8 W" d: B- \5 l* F. n1 D( d
" [8 a) {8 Z# e k( I; e
var Memory = xdc.useModule('xdc.runtime.Memory');+ w5 f5 m4 j0 l' F+ h
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
! S3 | F. V9 ? n. P4 o( Z3 h8 a
( p# E7 G/ I5 |/* configure System module */2 k4 e( [1 B# C" D, P7 x8 g
var SysMin = xdc.useModule('xdc.runtime.SysMin');) j! | C5 m; `# _
SysMin.bufSize = 0x1000;8 w- ^0 C& [" q3 C z. S% @
SysMin.flushAtExit = false;, h5 A# Q) |7 ~; A
$ L1 B: ~$ [" Z( `! l+ g1 @( ^
var System = xdc.useModule('xdc.runtime.System');
6 z' j+ |! {% U* N7 J5 jSystem.SupportProxy = SysMin;
& p2 p1 T$ K5 V
+ y( y+ s& Y! c/ ~/* configure SysBios to use the lower half of Timer 1 */
' D% R. O/ o$ U& Z$ l4 Evar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ l9 m" @ Q9 A% {9 h# E5 ]var Clock = xdc.useModule('ti.sysbios.knl.Clock');6 H4 C, J0 E/ j7 e& f
Timer.timerSettings[1].master = true;
/ A i, C$ J. T- A" p+ MTimer.defaultHalf = Timer.Half_LOWER;
4 F2 `! D. E4 |) E% @Clock.timerId = 1;
# M$ I3 R0 a# o! R# B. k9 N
5 p. \: g! j5 C& [
4 _; k9 Z+ G# M8 x9 [+ S1 m/*
; G( x C/ ?- e0 M0 G * ======== Miscellaneous Configuration ========
5 h" T" H9 u; b) J* E/ P+ k. U# m */
2 R4 Y9 K6 e6 g0 z4 P8 F' Z. |8 o* y2 L% o: @1 l; u9 j
/* set default diags mask */$ C5 X& T6 S' ?* j, c! v8 u( g
var Diags = xdc.useModule('xdc.runtime.Diags');
1 f6 z2 M! T9 X" d1 O, h, evar Defaults = xdc.useModule('xdc.runtime.Defaults');
( u& r; q" j d/ d! J7 o2 q! E: n8 P% W8 M* f- U! N' k
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;2 f( E% _, t% |6 R: y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& g/ `) u% q* X: t0 N7 W
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;; Q3 V* v. l. X4 Y2 y4 r, D7 M# g
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */" q* U& j, ~! L- ^# ]. K* \
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */5 p0 ?6 \- n% l3 M9 C% Z$ v8 W2 T
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;$ m7 `* h- h$ G* L$ v1 S
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
s# U2 g @0 s7 f5 WDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: ^0 B6 h1 f* z4 b4 X+ R5 TDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
' r. f7 v E s p9 vDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( m0 N& L5 j# {, r* W. @Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
k3 A2 W3 W9 D% U k4 h# rDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;, ^; [1 ]7 F* ~2 J, w$ D' O$ X
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 h g, s; ] L2 V! T) j
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; O( ~& O1 ?+ L, e
% A- |" v; Q" W' G
/* override diags mask for selected modules */
5 j1 P0 r) I( d: m" z8 Ixdc.useModule('xdc.runtime.Main');# v# w1 G! ` F7 W/ o8 |
Diags.setMaskMeta($ w6 c7 `; _7 F" j
"xdc.runtime.Main",
7 z! y- ]- ]& ? Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 Y$ h7 g& x. {/ x: | Diags.RUNTIME_ON
" G8 d& o+ E0 M! _; {. |);" P3 f; N6 e0 y, Y+ ^( o9 j2 f
. R9 d, w" s3 M. p6 fvar Registry = xdc.useModule('xdc.runtime.Registry');
" H/ U' j( V, D6 `2 \Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;; H' Z7 H' j [, ^2 D& D: N) K1 m U
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF; M' n1 k, @0 \$ D9 Z; ~- f" M
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
3 U* o& L- h2 N: H/ LRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
+ C! [2 _- r6 Z9 J( _
' y% U: R# O6 u3 o/* create a logger instance */
+ @5 ?" V8 o( {; zvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');7 U+ E( G+ y: _% ?* V @
var loggerBufP = new LoggerBuf.Params();
" T: p2 X% g% P6 j6 r- r+ r9 IloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
9 h1 z! K" ~+ ]% floggerBufP.bufType = LoggerBuf.BufType_FIXED;! K4 \( N/ a1 J" f7 @# j9 w
/ X. f4 v/ A( w' Q* `% v- Qvar appLogger = LoggerBuf.create(loggerBufP);8 D' `# A, x2 `! X! D) d( z w* s
appLogger.instance.name = "AppLog_Core1";6 U+ @% \) [8 o* T5 |; Y
Defaults.common$.logger = appLogger;
0 o: A( ?; p( JMemory.defaultHeapSize = 0x8192; 8 m4 L. t9 O5 m+ l& ?0 K1 G
Idle.idleFxns[0] = "&LEDStatus";" {' M2 D% p6 M/ r
Cache.initSize.l2Size = Cache.L2Size_32K;
# x" F# Q; Y8 ^" \) }; C: l) ^- _7 j0 t4 ` v6 b
|
|