|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
7 s; Z0 E% V7 \- R% o我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
" d3 H: j2 @8 h& B' ]6 a# s# k) s(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
4 x' q C* u& _ {1 y0 H( q7 Y3 t" v4 o, i1 A
是不是需要在DSP.CFG中进行配置% N1 Y% A. y/ w/ ?/ z, Z4 e
我现在的配置为
i, r: A: Y- ~- b; x% j' s8 M6 \2 b2 j# X' ~: b3 F& Z! _
/*
5 N9 D9 o2 ^: \/ m% r' j * ======== Operating System Configuration ========
- S# R! F2 ~) N. `: @ */
7 r' l. k6 M' ]& v" \+ @3 m/ F* O: z+ W, G4 Q5 p
/* no rts heap */* Q1 L U3 B' q" y; Q: W+ c
Program.heap = 0;
& Q3 ]! l2 b: R2 f4 j! a/ s" mProgram.argSize = 100; /* minimum size */, b+ Z* | E2 h6 Y" ~. @' B; J
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 ?/ D( J7 u5 p0 R& Z& k5 ^/ p- Q9 S1 c# Z+ n; D
/* create a default heap */
L3 U' C) j# hvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 h6 Z+ F) d- u$ Ovar heapMemParams = new HeapMem.Params();2 W3 @) A0 k& B0 f8 _" }
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
5 h1 ]! i8 \3 L0 q
. G% Q0 b# h/ A( \* |var Memory = xdc.useModule('xdc.runtime.Memory');
3 B& W. \9 C# ~7 QMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
6 D$ W# I% Q% G+ n$ h1 D
# n- m; \' |- @% [7 r! i9 H9 j. X/* configure System module */, ~% ?) y, A" t$ X _* i! z; d
var SysMin = xdc.useModule('xdc.runtime.SysMin');0 c8 G1 D/ U( C% @* x
SysMin.bufSize = 0x1000;
$ u# m# w4 z. a0 Y4 n2 S) ^SysMin.flushAtExit = false;
. b# ]& i. P$ E0 j' i: C& \$ l! V0 X' y/ w' X( a2 W
var System = xdc.useModule('xdc.runtime.System');
2 n3 h# E4 i& H5 R- FSystem.SupportProxy = SysMin;& v8 I& M! b" b f, f, n
& W- Q, C5 z3 M4 M( c `/* configure SysBios to use the lower half of Timer 1 */$ R5 X9 i4 w2 N
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, L: }0 }5 H4 J8 G0 }) J2 v
var Clock = xdc.useModule('ti.sysbios.knl.Clock');7 H: ?3 u! X2 R& r6 h' t
Timer.timerSettings[1].master = true;# i# I8 [: D# A) R/ e5 m5 J
Timer.defaultHalf = Timer.Half_LOWER;& p1 C$ H: P- Y8 J
Clock.timerId = 1;0 {/ Y1 S: [% [# |
7 U0 \+ N6 q4 O$ U& U/ m3 R5 d
# @) V+ I: _$ N7 }
/*/ [- N9 u x7 g$ {& |0 [
* ======== Miscellaneous Configuration ========1 V- E5 A$ F& {, u7 S# V3 g7 z
*/
/ E: {0 d9 p5 s: S' J, J l+ }
) @/ K1 ]* @4 ]% O S- x4 f D/* set default diags mask */
5 a- n+ X$ @1 M2 c" S: ovar Diags = xdc.useModule('xdc.runtime.Diags');! ]0 \1 c, Q1 d, c% k* E x
var Defaults = xdc.useModule('xdc.runtime.Defaults');
5 ?0 y; [. J" r
9 y/ H8 K; Y7 @& l! v) K3 O. IDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;7 u, n7 ?' U, r& O# r2 b5 v. y7 X( J
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;5 p7 `$ s: a( R) ?. y& U6 D' D
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;/ ?8 Q; p" q a
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */2 {! Q' q2 ^" f# O* a
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
4 g- Z3 S: P& F3 FDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 z6 K, u4 g; B
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
* z/ P3 }+ g& x$ [Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% k% w1 T3 M1 J- d2 W, K5 Q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;+ \' B# q, C5 R, t' B5 t; ]) a' E
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
% \2 N+ V. t+ f& TDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 E, I" r5 a* V7 xDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" l# i4 ]( f2 QDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;% _& [/ V; k- f: m6 e+ D& a% {
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;, G7 U# X8 H! m" [. A
: n, E4 R/ E7 d1 o* E' C/* override diags mask for selected modules *// ]0 ]3 W: a% L' _- g
xdc.useModule('xdc.runtime.Main');
# e- w1 `! u5 YDiags.setMaskMeta(
0 G0 s3 H) E5 e3 d1 b0 ~0 l "xdc.runtime.Main",
0 E5 z1 A- r/ K" z8 i& a Diags.ENTRY | Diags.EXIT | Diags.INFO,
6 W; \, g$ M( u: x4 L Diags.RUNTIME_ON
* h! b$ @1 s8 h4 L/ I" D);
+ F/ g4 x6 ^- y8 U" Y% k" d3 s4 `' N2 m. M* M! [
var Registry = xdc.useModule('xdc.runtime.Registry');
6 Q4 u; n5 @, B, J9 A9 L; iRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;) M* u. {& ]2 j
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; r5 j2 M) i$ g" B- WRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
# Z: } u- b7 k. x8 ORegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
1 h2 x# u/ C* ?. o. U4 y8 m/ |
- q! W6 e" k% R% F9 ?: n/* create a logger instance */
: O# j# h u7 cvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
# V# D9 G% n L$ o& A9 lvar loggerBufP = new LoggerBuf.Params();
3 ^: |3 @1 t' g9 jloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
0 ]7 V) X3 _: JloggerBufP.bufType = LoggerBuf.BufType_FIXED;
6 X4 H. v# k% V+ U/ g4 n- L+ A& J* e# b- J
var appLogger = LoggerBuf.create(loggerBufP);" _. G: k6 ]1 O7 G# c
appLogger.instance.name = "AppLog_Core1";# H& t8 |- m' W7 D. Y
Defaults.common$.logger = appLogger;
" ~, o& Y+ L0 |7 d' q0 j9 a; NMemory.defaultHeapSize = 0x8192; . }. r7 K! c. i* p9 k
Idle.idleFxns[0] = "&LEDStatus";1 J0 m# s; {0 W; ]' o
Cache.initSize.l2Size = Cache.L2Size_32K;
" d3 g0 L2 J/ l& F7 y% r2 k' k9 z- s! a' L7 K& W \1 L" @& ?( u
|
|