|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明4 h, ~6 d8 Y' J$ U. l3 \% \
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: m* l2 H& ~; p, [(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
* t4 _! J) U: W E( F) W! L! j0 L7 Q& z
是不是需要在DSP.CFG中进行配置
( N9 N1 l3 @/ h7 J我现在的配置为0 B9 U) Y0 g, C6 {2 Z
' J6 j- H4 R5 g/*
7 ?7 h; ~, J5 c4 B. A * ======== Operating System Configuration ========! V+ _ A$ [& S% M7 M0 R( ^/ s
*/
- |9 P( l3 ?" m1 F h. z
7 z, M9 a5 I+ q* Z/* no rts heap */5 o1 P4 t8 h6 a+ _
Program.heap = 0;
' l& P) T3 Z/ U+ y# Y# gProgram.argSize = 100; /* minimum size */
+ V' I, O8 K& X% E0 @* dProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 _( `$ ^3 L Y. {+ [
: Y- B) |3 K4 v
/* create a default heap */
4 `3 L; n6 ? \* l3 S" b2 rvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
. c3 S% h5 U; @& L+ v) M4 { Zvar heapMemParams = new HeapMem.Params();
" c) g4 U! [& h4 X4 {0 ?heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大! C% J9 j3 |) b% P8 l- u
; b! z% H$ _- K2 ?7 ~4 a1 ?' hvar Memory = xdc.useModule('xdc.runtime.Memory');% \6 q, A1 y6 W& T
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
) G( c9 x, Q* o5 u0 T9 f
5 e% W% a: M9 W4 t u7 R0 M/* configure System module */
' D) U6 j& D) t1 p2 tvar SysMin = xdc.useModule('xdc.runtime.SysMin');
* e: g: {( C/ |2 zSysMin.bufSize = 0x1000;: n* D7 Z% p6 b* {
SysMin.flushAtExit = false;' ]9 q# f) n7 b% ~ S
. \- r3 V5 w: ^- x
var System = xdc.useModule('xdc.runtime.System');3 M' ]- Y3 z: E0 j" U
System.SupportProxy = SysMin;
5 b0 G; q7 [* n% [# `# F0 ^7 s- q: u9 i4 b; M' \
/* configure SysBios to use the lower half of Timer 1 */# W* q9 u, _4 m) Q2 {* n' ]
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( T- \6 r9 J& V$ Y0 H
var Clock = xdc.useModule('ti.sysbios.knl.Clock');* |( ~: A7 O5 B6 @ V- }
Timer.timerSettings[1].master = true;
4 f) M0 U4 n) p8 _6 jTimer.defaultHalf = Timer.Half_LOWER;, Q+ H& h, ^& m1 A
Clock.timerId = 1;
: q5 D+ t8 T" S {8 q! p) `6 o6 Z/ `$ @7 H# O
& W5 n4 J1 ` S
/*0 z* D Q3 o* }5 t( d
* ======== Miscellaneous Configuration ========0 E \" |' W3 n$ m, v; l- R9 {
*/! e3 w* @; B& z. q% d4 a6 D
% o4 D/ u0 r' v5 z+ m. K/* set default diags mask */
* Z4 l: w) b+ ]( Y1 E2 Qvar Diags = xdc.useModule('xdc.runtime.Diags');8 X4 l T; ^, O) o, J) Z- _
var Defaults = xdc.useModule('xdc.runtime.Defaults');
) }* M% Z1 Z% |. S# ~
4 [% x4 X- R) }" ]1 s1 h: h5 ADefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;6 k/ W, W0 n! o! i) i
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;! \5 P5 K: p- `: Z- ~0 @3 U
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;5 h" q# r1 d6 m, z) c7 l4 f" {
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 v7 R/ r, t3 _* m4 C# M5 yDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
/ S6 {9 [: [9 d4 K+ }Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 L3 Z5 Y+ J* SDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' S! T( d0 m! ]* |3 IDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* G9 `& G- d. f) t+ e
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;6 @9 J/ U7 ` ~+ h7 A( {
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
, H8 W0 X) [3 H/ S9 s( N) W X6 y9 CDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
0 P1 O4 z! k* d f1 \Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;' P3 B) y4 x: R; c
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& q. Z- X" i8 W+ W: z) [Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; `# z* c* I* e9 x I Q* o
9 h# [! d, N7 A) ^/* override diags mask for selected modules */) I- g0 r- i o; N P
xdc.useModule('xdc.runtime.Main');
$ X! G: u) J0 w' H& L/ HDiags.setMaskMeta(
; C* _3 t% P4 b9 O3 g! A6 s "xdc.runtime.Main",2 t; h- j% r' @6 M6 S- L9 D9 S
Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ b5 z$ X- e% w. [2 ^8 m Diags.RUNTIME_ON
d1 V% x7 c$ a: w/ V% d);
6 L8 s: N/ ]0 L6 L1 R1 h) e x9 U6 X% T; b" v, D
var Registry = xdc.useModule('xdc.runtime.Registry');
9 M0 m K6 J5 X8 T# E# g8 JRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
# p. M- A" Q# K% @8 S2 ]) y" m# kRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
/ r2 A; m, m; B: o; a" G* C4 ARegistry.common$.diags_INFO = Diags.RUNTIME_OFF;2 a5 ?: _4 X) @! N, k1 n
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 h6 x7 L* |; D) L( E. t! G2 h( @1 P/ ] c3 z' b
/* create a logger instance */" j# l, d& n* e. V( r$ @( q; e
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');( v& y* r- ?+ J
var loggerBufP = new LoggerBuf.Params();
) [6 y" V& {1 n( `' @9 \loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */( X* [: c' ] c0 }% _
loggerBufP.bufType = LoggerBuf.BufType_FIXED;9 u6 l% D S4 z/ y
0 G4 F' X. A# R" w3 e( \ t8 s
var appLogger = LoggerBuf.create(loggerBufP);
* O( X+ ~3 E; r( w2 M; fappLogger.instance.name = "AppLog_Core1";
- d' a5 g/ R3 Z& C2 ~+ WDefaults.common$.logger = appLogger;% U; D; h% N' }. G9 d
Memory.defaultHeapSize = 0x8192;
9 g! u; q# L+ ^$ jIdle.idleFxns[0] = "&LEDStatus";' X/ a6 O: _7 U4 @, X; E
Cache.initSize.l2Size = Cache.L2Size_32K;
+ L: W0 A8 e J o
; D( i( t6 V: H" l3 q9 k7 X |
|