|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明' I8 ?" X5 M+ a' V6 ?- W; ]2 t
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 F Z: M7 J2 F! D
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
" `& o& t" v g: f
. {( }. D* d5 o是不是需要在DSP.CFG中进行配置: I W8 A8 h# ?8 w. b3 k" Q& A
我现在的配置为) H" Z& I, Y9 J- u3 J2 n
. C, `; ?1 d5 U7 G5 u; T
/*6 D, v( ~, ^' R; _
* ======== Operating System Configuration ======== p8 W4 c8 e1 \% [+ n* _$ O9 D
*/# m; j, s% C7 j' z) \
5 G* |: z& Y; C0 H" w: J6 N
/* no rts heap */) H3 Q. u3 g( ~5 I; t1 M
Program.heap = 0;
0 O& N& B9 k) N; vProgram.argSize = 100; /* minimum size */$ I/ |$ \' C5 @2 U4 J* t
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ @0 n% e+ U5 D9 W- G
0 J& ^5 J. ^8 ]! h$ J% M/* create a default heap */& w. f" g. ~9 f1 z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');) w d; I: r" I0 a
var heapMemParams = new HeapMem.Params();$ x6 c8 c) q+ z9 D2 q- r4 B
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大, X7 W' ?& t2 `& P& \
7 j& ?& v( h, S/ V: {var Memory = xdc.useModule('xdc.runtime.Memory'); j% x& R' }2 p! Y$ @
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);' H; t9 q6 H! q) W# \
. o1 g0 W) }, `$ T, |8 o/* configure System module */4 S, N( u# ] t; ?# r. `! @8 b
var SysMin = xdc.useModule('xdc.runtime.SysMin');+ ^* p$ `1 i. l1 o
SysMin.bufSize = 0x1000;! Y! |; z7 A. y. B' {6 L5 A0 F* a
SysMin.flushAtExit = false;
; d: T/ t% P0 }) x7 O
+ s; Z2 x' y( wvar System = xdc.useModule('xdc.runtime.System');3 L( o' p4 _. d% l
System.SupportProxy = SysMin;9 H9 R c) ^, U
- d9 a' ~1 Y9 c6 U3 A
/* configure SysBios to use the lower half of Timer 1 *// V' {& y% R* @1 R @! Z! S% b/ U* }
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 x8 U5 Q: P3 Q; K) i2 y+ cvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
$ r! L; a/ r9 k7 v' DTimer.timerSettings[1].master = true;* w' J/ a3 o+ p' Y
Timer.defaultHalf = Timer.Half_LOWER;
- p% Q8 y% i. J& ?* GClock.timerId = 1;$ y! P; l8 b1 l3 x- J
& F, W; y* K9 z: J' y& w6 w
+ N; E% D, q5 k1 _2 l/*
8 q* q6 k/ O7 l0 d; n$ r * ======== Miscellaneous Configuration ========
+ K+ h/ ]. t6 C: E5 C */
' u/ D2 P- L6 i) u2 q9 J
+ c- @7 `9 v! L# M+ f4 {/ ]+ t9 _/* set default diags mask */: w0 i r8 [* P' K6 k: u
var Diags = xdc.useModule('xdc.runtime.Diags');' u* b6 {$ T/ ^1 ]) c/ B( s; |
var Defaults = xdc.useModule('xdc.runtime.Defaults');9 Q/ s' k0 v& n$ ]
$ j' \) |2 I8 L* j) V R {Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
& }& r0 x4 u; z7 y; vDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 _& ]9 w% a* F# X5 J }. Y
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;1 d/ Q; ]4 R0 v, C
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */; Y! C. I; L& l2 \4 [0 e
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
5 @5 V7 m7 J3 M; _Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
3 t. w; C, j' ~Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
/ Z0 c# A, A0 [ _4 c; w/ u% |Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- q# h( x' [" i& q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF; m( q7 d2 X2 o1 W0 P
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;) n% j% b q* Y0 [8 b
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;: _8 v1 _1 R8 d0 O
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;( T# h! j( ~- F8 O" Z' m8 S- `9 x; c
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;3 y* s6 Y2 V6 X7 D8 a" h/ O4 `
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
. g8 z! M: o0 x! {* K: z4 c" i4 {- X& ~- o( Q
/* override diags mask for selected modules */3 N" P$ h" I* ?
xdc.useModule('xdc.runtime.Main');: s; X5 ]* n: C8 d7 a' l" P. a! A& v
Diags.setMaskMeta(. \0 z0 H8 b. f
"xdc.runtime.Main",2 J5 Y$ B y9 j5 r
Diags.ENTRY | Diags.EXIT | Diags.INFO,2 B$ I* K3 _( O( X
Diags.RUNTIME_ON
# v" x* `+ J# r* e, `8 P& q' v);' I0 S! s- A3 c5 y( l- q& k
: c- G+ z: K3 V$ c5 m5 [var Registry = xdc.useModule('xdc.runtime.Registry');
4 F6 T _& |* q: ~% X: lRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
$ c" [* C( I: S* u& L, MRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;8 N3 G8 i' }4 M0 f# j
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
+ T7 A' w8 [7 k, F' V- _. z sRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;* J- x6 v& h7 a0 F, b
5 @3 {8 U) ?6 n) O- u8 V: R8 }
/* create a logger instance */5 C7 |6 e K7 E. Z# L
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" K( t q* u7 N2 o& ?
var loggerBufP = new LoggerBuf.Params();6 g8 ^ n+ h5 }7 v
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
2 t( g. d' E3 E/ j0 @5 uloggerBufP.bufType = LoggerBuf.BufType_FIXED;
: I- T5 @& U# f9 v! D! E7 o0 u" N3 O9 Z% D6 x5 k+ ?
var appLogger = LoggerBuf.create(loggerBufP);
9 s- P5 Z/ j' y1 x* ^. F2 ZappLogger.instance.name = "AppLog_Core1";
: p$ e+ M2 v8 n6 ~Defaults.common$.logger = appLogger;, {, y/ r* ]& J+ u+ x: j8 F- e+ C
Memory.defaultHeapSize = 0x8192;
& H N% F" [5 T6 q2 d. y8 I1 ]& ?6 BIdle.idleFxns[0] = "&LEDStatus";
9 j+ C- Z2 F, K9 vCache.initSize.l2Size = Cache.L2Size_32K;! B. R0 E5 \1 X7 x: z2 }
3 |8 w3 h) k" t9 { |
|