|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明& b3 D: d6 @! v3 \; r. v" l, A
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下7 Y/ H6 q9 w5 m
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
0 b) p3 x% r: D* A" C& t U4 R- O5 A, ^/ n+ \
是不是需要在DSP.CFG中进行配置, U" o: E i! A4 ]$ E
我现在的配置为8 w) Z$ A) ]( ?# g/ m9 S) j
6 z' X4 j( Y& L; J6 |
/*7 b2 y. ^ e5 q& B9 n
* ======== Operating System Configuration ========9 | x; u! {2 \/ l
*/
' L3 l6 t% W0 F2 h ~$ w6 F* b0 |
/* no rts heap */+ q- a B: f: u& N& r! t( e
Program.heap = 0;0 D. B z3 g4 G/ V" j* B
Program.argSize = 100; /* minimum size */
) V# C8 w! G' d* @Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
- F/ z, R# y3 c+ q+ `2 e
) Q' f: ]8 l( Y8 c/* create a default heap */
% S% |3 A$ M9 p9 R+ B4 Pvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');) G; ^1 B( d4 r# J' o+ B4 [9 U( x
var heapMemParams = new HeapMem.Params();
5 H$ o: W: h3 }4 ?4 R5 }heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
& {! n5 L* X5 H2 e" x6 r2 A2 d6 U
' v( |. r$ R3 g3 `* evar Memory = xdc.useModule('xdc.runtime.Memory');
) r6 C$ ^2 A4 _: l% @5 S; {. xMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
; S/ }; k z8 @+ ]2 u6 @) a1 Q3 g7 l7 h
/* configure System module */7 T3 w$ b% \) l8 V$ @" i5 K. A
var SysMin = xdc.useModule('xdc.runtime.SysMin');
; [% `3 B2 l9 \: \SysMin.bufSize = 0x1000;! Q4 R+ @: q) Z! e6 i* ?
SysMin.flushAtExit = false;
; H [5 U, M" W# m
- u5 A7 e( v9 qvar System = xdc.useModule('xdc.runtime.System');
) N& Z! T k8 z: wSystem.SupportProxy = SysMin;
! L' C3 N m2 a" g4 H( t2 ]) p2 p6 k- r. y3 c8 y4 }
/* configure SysBios to use the lower half of Timer 1 */
3 K( a# `$ ^6 w: N6 u5 H; ovar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');; n6 @& P' H. f6 A4 I
var Clock = xdc.useModule('ti.sysbios.knl.Clock');( V. X# O0 [! Y& Q+ d7 U( q( C
Timer.timerSettings[1].master = true;, d4 U: R' Z$ N# ~ J& {* [8 C
Timer.defaultHalf = Timer.Half_LOWER;! `+ l. W, u/ b: v+ f& N q
Clock.timerId = 1;
8 @& D+ o5 e: o8 N! q: @4 I. B. s' `1 ~- l& c
. y4 `6 @( [5 r& U9 a/*1 `8 w4 n7 u0 @+ B) |* L
* ======== Miscellaneous Configuration ========5 W/ N9 U8 T+ g' U
*/0 r* e$ o( C% W; B# g: p* e# C
5 E1 ]4 q( R4 F& ?$ l, P/ m' s/* set default diags mask */( L+ l9 d5 U3 M* Y& I
var Diags = xdc.useModule('xdc.runtime.Diags');) z& S5 w$ f) v# l
var Defaults = xdc.useModule('xdc.runtime.Defaults');" x2 D7 ?$ B) V( ~& L
- {9 t% z3 e% F; E% s2 F
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
; x4 L2 c8 A: t8 ZDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;: ?( E8 F3 R9 a m; N; p1 K
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF; I$ S! c* g2 G% X% { I
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
, s& S# J2 z1 w, S; K# V; TDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
5 S9 ?2 i% R$ ]- MDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; H5 q! g! d" _" x/ HDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
: V0 }3 T* K1 ]) D0 T; A# V; LDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;) n2 W) ]: T; w
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;6 Y# S" t. z" `+ b7 o! |; d/ S2 ?
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 G L" j, I* K+ O) ~) t% Y( XDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;& {3 q/ `1 u2 b+ I, l- l
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 [/ O, d0 Z7 C. w K# P) a
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
1 o# }# V+ T0 L( u {( {. CDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ W5 v! s! l3 R& B5 E; Z7 _
% [% Y3 O& j4 [7 r1 I0 c/* override diags mask for selected modules */
! w& k8 v# \7 W5 q) W' ?* ~ u: y: dxdc.useModule('xdc.runtime.Main');
* w2 T7 [6 X3 U2 sDiags.setMaskMeta(5 s m% L# @5 ?* {& _
"xdc.runtime.Main",
& \1 Y1 m. Q' ~. n Diags.ENTRY | Diags.EXIT | Diags.INFO,, |& a% g5 G; R! e; H$ S) J
Diags.RUNTIME_ON
) t: i# F, c+ X+ h* L! y0 R);
5 F- S5 ?& M" z2 p% m# g+ A
& ^' l7 {2 b4 r. R& ~2 a. \' y. S) _9 avar Registry = xdc.useModule('xdc.runtime.Registry');$ J+ f+ e. K: j& p* }5 i h3 ~8 z, N) W
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;0 h u) o. a4 O6 z4 \; _
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;; B' T4 }+ U/ i- M# t: T7 z) o7 s
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;8 h9 d6 O# O' [& P/ T
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
- e1 e) T1 T9 C1 H- \/ P; j3 G0 E, B9 o3 ~
/* create a logger instance */7 W, a; K9 ]4 J8 |/ w3 i1 l: s0 ?0 E4 J
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');. m1 w, k2 A7 R4 {, r. X: T" w- I
var loggerBufP = new LoggerBuf.Params();0 |; k" e, m8 J, V8 v! C) r
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */% m2 L5 y) @3 M1 q" Y; P
loggerBufP.bufType = LoggerBuf.BufType_FIXED;' S# s( ^. L! R0 d
8 |- s5 Y6 n r5 k8 e
var appLogger = LoggerBuf.create(loggerBufP);6 l. r! G# S! b `
appLogger.instance.name = "AppLog_Core1";0 {& D$ j/ Y. F* w0 @& X
Defaults.common$.logger = appLogger;
0 T+ e# W* k5 W1 CMemory.defaultHeapSize = 0x8192;
; Z7 T9 n2 U3 uIdle.idleFxns[0] = "&LEDStatus";
/ U( g+ s0 _% }, e# l& q+ \" |# tCache.initSize.l2Size = Cache.L2Size_32K;
, d: `. b' _) E% @( W: O. z4 }" k6 \. }- ^- H. W
|
|