|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
4 I( {" \, c. e+ d0 R0 ~5 E( u3 `7 z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下3 ?! I y; I0 m% D& R+ g5 t6 p: N
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
% k1 G9 G' g+ f6 K
* P8 ~2 [# K* S/ X! G是不是需要在DSP.CFG中进行配置
+ G$ C5 v) k) d9 C我现在的配置为
+ k: Z8 V3 X+ x
! [5 a0 I. [% F6 m9 D& `$ e/*3 \1 s3 s, _6 m: l
* ======== Operating System Configuration ========
! f9 f' z0 Q% P/ n2 h) {( N* @5 X */' v4 F3 a4 }, ~# e
3 F7 R) \2 V0 M) A0 b, g! q/* no rts heap */6 l/ {9 G8 N# I' A: o! t1 n! Y
Program.heap = 0;) d) s5 b" \ c
Program.argSize = 100; /* minimum size */+ z! y8 o) _; F" g% G' g
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
5 u+ z! g+ R9 t I* s* a8 W2 h9 |4 E
/* create a default heap */4 w% p9 J* U8 o* U
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# j$ [9 p& B. x
var heapMemParams = new HeapMem.Params();
: [- [, g' @' }- [8 H: g4 mheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
$ s2 U1 S# E; |! G3 G/ I: Q
" k: d4 v7 e* W# o) @1 j! [, Qvar Memory = xdc.useModule('xdc.runtime.Memory');8 G9 K8 I; i8 j3 {
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);$ N! B6 `1 N' K1 Y: W
" c2 X" d" d8 V V" Y( P
/* configure System module */ E6 d2 o' R$ }: }. a
var SysMin = xdc.useModule('xdc.runtime.SysMin');* _+ n$ R% o$ V) S
SysMin.bufSize = 0x1000;0 m7 i m) V' x+ G
SysMin.flushAtExit = false;
( }% }9 H; A) Q& K
l& t3 t; f5 e3 Y6 hvar System = xdc.useModule('xdc.runtime.System');$ |9 h y- Z5 ]0 @; M1 O
System.SupportProxy = SysMin;4 L# X0 k4 j7 i+ g9 V! d b |' I1 W
) Z+ V+ o; Q0 ^
/* configure SysBios to use the lower half of Timer 1 */( Y" r: {# ]/ m# W- S! S& y2 s
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');) s, s t( B& y1 i, ^! Q& F
var Clock = xdc.useModule('ti.sysbios.knl.Clock');" f" o! V5 I/ m4 R* k
Timer.timerSettings[1].master = true;
3 @" l+ H# j( J9 Q* ~+ z1 e. rTimer.defaultHalf = Timer.Half_LOWER;+ @; {* \' t% R1 D: m* j2 U
Clock.timerId = 1;
2 L3 z& J2 ?: C4 t: j) L3 _ t' g3 N9 i4 q6 A
5 Q! V8 ]/ Y+ C' \4 a- k2 V
/*
( p, m$ S9 `0 ?+ T * ======== Miscellaneous Configuration ========
: V& o6 h' V& m8 v! E! ~5 s */
, P) r; t7 I' M: H6 w7 Z {$ c' h$ B1 {/ X+ q0 e( ]
/* set default diags mask */
, n9 b) p7 F1 f( rvar Diags = xdc.useModule('xdc.runtime.Diags');
: \* H' J7 @ B- wvar Defaults = xdc.useModule('xdc.runtime.Defaults');
$ Z( ]3 n. t# G9 x( J
9 L) L9 R% m e4 fDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
- g0 W! d5 G! G2 z1 qDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;5 w2 |2 z+ n( @( q1 c7 D
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;8 x; Y5 v5 \6 }" M8 b
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts *// Z$ [ b; U, y7 R( o
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */9 j: e8 r& V( j ]
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
# A4 \7 p7 P6 fDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
& c( `0 h9 G: q3 D' VDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;6 o: `$ N" V, {/ x; a; y
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;& T8 F0 E5 G! S2 c# i
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
4 d3 }+ i, q8 j" u" GDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
, S9 H8 g/ j' x; F" @Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 p d1 q; G4 D+ |7 s2 m
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;* w8 B: v8 u; q0 @8 H
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& u6 K0 F* H1 v- p
' I$ H5 S+ M. p* R2 g& J; K
/* override diags mask for selected modules */
4 d; k, @4 V% V4 T8 u1 |( w; Exdc.useModule('xdc.runtime.Main');4 |; j& |% w7 {
Diags.setMaskMeta(9 e* t4 Y( o: l- C
"xdc.runtime.Main",7 i0 T v2 p9 t J! ~1 ]
Diags.ENTRY | Diags.EXIT | Diags.INFO,, Q) F7 m) T0 {7 r3 j4 w! z$ m/ S
Diags.RUNTIME_ON+ e" E( w5 ^8 O" @$ Q2 ?
);: M" N7 d. m& v7 ^9 g
- `: z- q3 t* G( ^
var Registry = xdc.useModule('xdc.runtime.Registry');
% \& L- B3 O$ oRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF; S: q& H( i* L7 Q/ A; b# M2 k
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;! G: n- K6 H5 ~3 H9 }
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;5 |+ H' W7 d% ?+ L/ Y1 [
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;' k1 n( Y2 V" v) j' }6 V) f
) Z- N- M% o4 ]) l/* create a logger instance */
# u6 N5 F* K/ W& T8 Z. U( Wvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');7 x4 U3 {7 C" C5 G" g' @
var loggerBufP = new LoggerBuf.Params(); m$ U& Q9 {+ }! w' J3 z! r7 O
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- K7 S7 |7 s u2 ]loggerBufP.bufType = LoggerBuf.BufType_FIXED;
4 E/ k7 Q; r2 L9 E
# U2 T1 B6 G% }# z9 R L% ivar appLogger = LoggerBuf.create(loggerBufP);# E# P8 m- a$ d
appLogger.instance.name = "AppLog_Core1";
& I6 }: B1 p) v9 F5 s" c) q6 UDefaults.common$.logger = appLogger;. v W! t' [* k1 c& P6 X
Memory.defaultHeapSize = 0x8192; # U9 O* |8 N& a
Idle.idleFxns[0] = "&LEDStatus";
; L4 [" q N) M8 VCache.initSize.l2Size = Cache.L2Size_32K;
$ E& ^. F$ ]7 i2 ?! }9 s
( I1 N+ g3 e; E S8 F |
|