|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明" q8 R5 ~! U& v& {) t: ^- q7 U
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下% C. o- ~2 \5 q8 R, n# s0 R
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ @8 T O6 Q. p' T
8 n; v: f) q% J% X) U4 U3 e, A是不是需要在DSP.CFG中进行配置
9 K' z& w, d) k我现在的配置为: `3 g" }! Y" H7 E1 c1 Q
" X6 W: [- x$ J8 F; J+ [/*
# W- J$ q+ u6 [; o! @4 V * ======== Operating System Configuration ========
z9 k) Z$ ?7 r, x */
" |) h6 j- \: r1 L: ^
+ A' r% x4 f7 T, Z/ z! j/* no rts heap */
2 _2 g5 ` E: j+ L: ^; LProgram.heap = 0;
1 O2 [' x. ?* D( l1 k& N. e( t% u$ RProgram.argSize = 100; /* minimum size */
1 x" B: J# X/ MProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 Y: H( G5 o$ [2 ~( Q9 f
, L8 }; n# y3 l# d+ a/* create a default heap */6 v: t. g+ Z$ ~- r
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# M9 i4 F Z: W$ ?5 }
var heapMemParams = new HeapMem.Params();2 ?$ q3 I0 a. b" B+ ?" E P0 n( S
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大/ {4 q. \& H/ d9 l" t6 [! U1 d
/ N x. }* X; K' J7 x8 z
var Memory = xdc.useModule('xdc.runtime.Memory');
! q9 g, G- n% R% f1 s0 M+ T% kMemory.defaultHeapInstance = HeapMem.create(heapMemParams);' e$ q$ i3 v1 z
0 v7 q% W H/ d# W. Q' G. i
/* configure System module */
" G- G! T' k: w3 @* Uvar SysMin = xdc.useModule('xdc.runtime.SysMin');+ w* I! F% Y% A3 H
SysMin.bufSize = 0x1000;" d0 |2 j/ B$ K5 o
SysMin.flushAtExit = false;
$ w1 u; w& P) P2 I% r3 ?4 g+ A( f Q; P! P. g0 H
var System = xdc.useModule('xdc.runtime.System');
! ?1 w7 w5 {4 B/ _$ j, G iSystem.SupportProxy = SysMin;! z4 e' Q+ b8 D$ b" w9 A5 W/ U& v
. J# [6 f# p9 f6 S" S
/* configure SysBios to use the lower half of Timer 1 */
9 G9 f$ R1 q7 pvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');1 u1 W3 |3 C" t
var Clock = xdc.useModule('ti.sysbios.knl.Clock');) ~9 C# P) t \, y
Timer.timerSettings[1].master = true;" ` `9 w% n8 o( i* c
Timer.defaultHalf = Timer.Half_LOWER; e' G; S; o: T/ M+ _
Clock.timerId = 1;5 }8 W S8 |; ^
# j% R" _0 j7 A( }& |
. H5 ?7 V- G/ e3 |4 Z( y/*
8 D4 d! \$ z6 h, @' d7 E1 u t * ======== Miscellaneous Configuration ========1 q1 h1 L& q7 v/ P
*/; g) L9 Z' {: k/ m: \+ U
. o+ t# d2 g7 g8 {/* set default diags mask */
1 [0 r! K9 N# J7 B3 j" uvar Diags = xdc.useModule('xdc.runtime.Diags');
0 h) @3 Q0 [: p4 `" P _7 |+ V1 Bvar Defaults = xdc.useModule('xdc.runtime.Defaults');1 _7 `+ W3 U; { b# {
; ^, _" t5 O6 L# ]Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;& s( j5 V4 R5 }. Z
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;0 |0 X j) Q* E! F* k$ Z$ N
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
2 `+ Q0 g9 T; Y& k) v2 }, cDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */7 U" ?# m' T/ ]2 d* N- a; p
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% b# B9 B5 u0 h% S
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;3 ~/ h4 ~0 \, ]8 _. K
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
# j( l( e4 n3 y9 G4 N1 aDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
; ]$ r( u3 Z) {Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
8 ~6 I+ m7 P$ }; j. S9 ?Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
* V4 W# ]- l4 y# J0 ] X2 \; n8 ZDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* z0 u: V4 D$ _: ?# gDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 l6 ]; J' W3 ~! x- a
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
/ G, S/ L3 g7 [: A5 `1 aDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;9 \0 A- i0 T1 I
, I/ E- ~( C8 V; S9 i; h
/* override diags mask for selected modules */' L% s9 q* c" Y) Z* g; n3 }& o0 ^6 R s
xdc.useModule('xdc.runtime.Main');0 u% x( `( F/ C% [) I
Diags.setMaskMeta(6 W0 `: @* h- S! l- K9 u
"xdc.runtime.Main",$ o+ r' h$ ?: ]0 t! A: o5 h
Diags.ENTRY | Diags.EXIT | Diags.INFO,
- ~! e; D& u8 {# k2 v Diags.RUNTIME_ON% E% x& P' _, n4 B9 O& X \
);/ ]" r) I( N: e" }& X
- `" Y( X& n& x4 I3 m! y( U5 x3 F
var Registry = xdc.useModule('xdc.runtime.Registry');( V9 f$ [) I6 t
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
7 X& M4 F; X+ i! C0 Q ?Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
/ k: T2 X4 P4 k, ^$ U" R5 e U+ pRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 s% e; o6 e. k7 f% w, o2 C8 j$ `6 w& M# URegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;: ?/ e% U0 Q [# D% g" B. K
& D- y( W2 I" |& b/* create a logger instance */
* k/ o% s/ A3 C! C7 Z; Evar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');. r! ~5 n; k4 w/ t- f) @& j
var loggerBufP = new LoggerBuf.Params();7 S0 r: I; Q( A1 {% R: T
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */' o, q8 ~4 L7 O4 K
loggerBufP.bufType = LoggerBuf.BufType_FIXED;( | f7 z8 X4 v$ [, M
: d: q* O" q, W* r' d$ e
var appLogger = LoggerBuf.create(loggerBufP); ? n+ `1 U# U" ]/ w
appLogger.instance.name = "AppLog_Core1";3 ]1 }4 Z9 M$ q# e# j
Defaults.common$.logger = appLogger;
% R4 Z* p: P' Y" z+ y, x: }! dMemory.defaultHeapSize = 0x8192;
' g5 l; H) x- x! b! wIdle.idleFxns[0] = "&LEDStatus";
X: d: L% I2 N, k8 p& wCache.initSize.l2Size = Cache.L2Size_32K;% t/ v O* R, T2 y( Y' L$ I* C" \
5 A8 l* P" W) D7 ?# |6 K: @0 Q" I
|
|