|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* F- u5 N$ F, \ y5 l
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
$ @: V% ]( \2 y4 g' y(不过疑惑的是,为何单独DSP仿真就没有问题呢?)( ~/ P z! ~; I
( x6 |; z1 y/ d2 u1 _是不是需要在DSP.CFG中进行配置
$ F/ k3 Z2 F) }5 K7 V我现在的配置为, n: F* b; \1 G% }6 Y
) i* Y1 @7 [4 z) b& Y5 G5 e" ^/*
6 ^) L& g. B. l) \ * ======== Operating System Configuration ========
. r9 B. [. H" ~- ^$ C: I */) x) p$ ]$ I% u# s: \+ u
8 c" f7 [0 h% @/ D
/* no rts heap */% U$ U% z9 O1 ]1 _. g b% A
Program.heap = 0;
5 Q% a i' R! `1 y3 B7 _+ e2 \7 P, YProgram.argSize = 100; /* minimum size */, G: j( w, Q) A' r' K& C% [
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大% q8 u9 ^! j8 b7 W2 P' B3 p
5 V6 ?4 e6 _" F$ \* b8 p+ \/* create a default heap */
P x5 q N m3 tvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
" s# I1 a& X3 F. \/ ovar heapMemParams = new HeapMem.Params();
2 C& p1 W& b( K% \$ P! rheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
* a6 G1 h) {* b F6 q0 u+ ]8 V2 x/ f$ a' f- a- D1 s
var Memory = xdc.useModule('xdc.runtime.Memory');6 @0 s( ~/ o* Y# P( {. g R3 H
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
: ]% i1 j( J! p, P* O# g6 L
; A" S0 h- N& s+ ]3 p7 r/* configure System module */
6 F# q9 V% ^& s7 Rvar SysMin = xdc.useModule('xdc.runtime.SysMin');
; _4 M* G6 B2 L& RSysMin.bufSize = 0x1000;1 g; Q1 |8 r8 _7 y5 E
SysMin.flushAtExit = false;
6 R& h, Q" U1 l8 ]
' D% w. v, ~/ T: ovar System = xdc.useModule('xdc.runtime.System');
3 J' _9 y1 Z& j; M; xSystem.SupportProxy = SysMin;
5 G# R& s, |, a; O* F7 A" G2 R& G+ e V* q3 j; [5 F/ _
/* configure SysBios to use the lower half of Timer 1 */7 H- l( U [9 h/ o
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
# V8 ]5 {9 S3 p. Bvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
% M5 ^- R+ q4 f; JTimer.timerSettings[1].master = true;
1 B0 z9 }' r+ Q$ }% |! h Z. J1 iTimer.defaultHalf = Timer.Half_LOWER;- i, N6 T) s! u; Y
Clock.timerId = 1; Q/ N" ?+ t) m4 E
3 N+ X( J; O) o& G" X, D9 u" I2 O7 m" X+ N/ T
/*& f/ c2 X( Q! {% O. ]5 k2 M; P. B7 m1 }
* ======== Miscellaneous Configuration ========6 C4 q- K, v+ \0 r
*/
. }& o: W0 z' M0 T6 }, a! o$ K# w. d! {6 c) t
/* set default diags mask */
! ^7 e! {) {' w W* d4 x9 vvar Diags = xdc.useModule('xdc.runtime.Diags');
, P F Z5 f1 B7 z" t: L& pvar Defaults = xdc.useModule('xdc.runtime.Defaults');
8 I* N2 A: K" d
) H: i+ F2 J6 C" n- E6 g) SDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
% U7 h7 p q" D0 [Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
5 T% z' Z" ]5 q0 v- k3 kDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
9 s- w. o& d( u: ?7 F; ] ODefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
9 }! [# z4 L) x" |9 I: a7 PDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% w; f8 r( w) n9 L6 S9 b
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
, }, Y" `& Z. ?% `$ }1 Q+ uDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
+ l6 M# W6 G( f1 k* iDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: M6 ?" _' {" ?( u' W k _1 [; NDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;: |5 q4 M) M: I5 B! p
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;3 r0 ^0 { n5 E+ ]
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! w. V8 A2 ~/ P# k R, fDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;- p# f: |' G$ R
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
. U' B8 Q" D* i% B: o G, UDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;4 f0 `2 m& M; T9 p( `. v; a8 F3 @7 C6 R
* W7 g; w2 u. v' Y) X# F/* override diags mask for selected modules */
; W& k/ z% H( N1 w/ o. xxdc.useModule('xdc.runtime.Main');& A. |5 h4 g+ N# H f
Diags.setMaskMeta(2 Q" c# Y' I/ N$ t
"xdc.runtime.Main",
" ?; p0 Y$ Z9 M9 c j7 j" c! r# ~ Diags.ENTRY | Diags.EXIT | Diags.INFO,8 r, d, c- `2 a7 Z: n6 a" |( b8 I
Diags.RUNTIME_ON* `) `7 k! a+ b8 t# j
);
& H) X& w) K4 y/ c$ S" i7 B6 A* a3 ` c& U
var Registry = xdc.useModule('xdc.runtime.Registry');
0 v" ~7 w% _8 `: P! ~3 @Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
0 P) x0 L$ c' b; _Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;6 E3 v; P8 u2 S6 K- X4 M
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;8 [- e1 U9 m) m# v; Y4 J! u
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF; s5 P: Q% o, h3 N0 ?/ @
0 v! z7 p: f9 e1 B( ^* d2 O
/* create a logger instance */
3 H- r" J+ [ D5 s4 zvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');9 I& O9 ^2 w! o/ I1 x
var loggerBufP = new LoggerBuf.Params();
8 l+ t: z/ ~8 T' qloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */+ X& ]9 Q: G- e4 m+ }6 Q
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
# _9 m0 f6 ]( \8 U, _5 W R: B: y+ |* c3 W4 m) g% o, B" o7 P( M
var appLogger = LoggerBuf.create(loggerBufP);
" M6 W4 p4 N$ _8 ]9 R3 c3 FappLogger.instance.name = "AppLog_Core1";# s* z( m: d- y# e6 h: s3 R
Defaults.common$.logger = appLogger;
* t" j* k2 c$ tMemory.defaultHeapSize = 0x8192; : i" l5 }9 b) \ w# c! X2 F5 T, Z
Idle.idleFxns[0] = "&LEDStatus";7 H) E4 R% r- t4 n1 _) V
Cache.initSize.l2Size = Cache.L2Size_32K;. x. I. w( k+ P: m/ b% p
" ^" a, g/ N0 w5 r y6 s7 j
|
|