|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
1 J5 U# j6 s5 V7 b+ g8 C! T* n我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下/ e/ o; O Y3 i9 r
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
6 A3 h6 ?: M4 e6 j. p A
5 h) b( v; J8 Z. G. o是不是需要在DSP.CFG中进行配置$ Y9 i) ?5 Y4 r" Q" }
我现在的配置为5 R2 }% f& r/ g. ?
, C9 ^6 e: [* u6 U W
/*
; h1 p* K/ X" R: ?3 q * ======== Operating System Configuration ========
; j: u9 B% p# }0 a2 M */, B+ w1 u$ R# w+ l) s+ ^: G
% `+ E& D. X; F& J/* no rts heap */
3 W. r7 i7 M0 s1 z* t# p6 F8 xProgram.heap = 0;+ F7 t1 S& Z3 C: T, H7 Q. L
Program.argSize = 100; /* minimum size */
6 r- M1 I6 o* W7 r1 ?& a; NProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大2 |3 }% C) {, m! O
) P; G0 O; q& P. T) I$ Z8 {
/* create a default heap */
2 g, P8 \4 a6 q. L% {2 xvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
# W5 H9 [5 Q4 n+ L3 Pvar heapMemParams = new HeapMem.Params();
+ Q! u& M8 H2 i9 bheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大5 W4 n8 x# c' W* m* h _" n5 ~
3 ?: I. ?4 T! o) M, A
var Memory = xdc.useModule('xdc.runtime.Memory');$ o; I4 v# A( [# @9 |
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
* _! N) \# e. c$ Z9 N. V5 x: D
8 w& O, K# }" \/* configure System module */
, I4 P! B/ F/ O3 W, svar SysMin = xdc.useModule('xdc.runtime.SysMin');; `+ \1 Z; }0 o( H0 C
SysMin.bufSize = 0x1000;
4 M; u' y9 M$ F# iSysMin.flushAtExit = false;
3 H( }* x! q# s4 L: I! S
4 ^0 i$ a3 ~; z3 a0 Xvar System = xdc.useModule('xdc.runtime.System'); s# z- h9 ~ ~2 O" z! Y- A" U; x
System.SupportProxy = SysMin;
& i0 \) c1 V' Y: @9 b, J, r4 J( Z+ i8 F1 n" T |# B
/* configure SysBios to use the lower half of Timer 1 */' c/ |8 E) H% x; H1 K% B
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
6 }, \" J/ M# J5 Ivar Clock = xdc.useModule('ti.sysbios.knl.Clock');
- J+ a, S2 |* R+ T! x' qTimer.timerSettings[1].master = true;
6 v" J! u& p4 CTimer.defaultHalf = Timer.Half_LOWER;
: ~ \ S' o% b p- N& kClock.timerId = 1;9 r# d0 r6 a1 z4 h0 k* U) ~6 O
0 B% S/ s. P' Y; n a; `% r9 z' }# @& Q) t; q( ]3 m
/*
5 e7 ^* s. z, j1 y$ } * ======== Miscellaneous Configuration ========' d* J. f% a, L4 q
*/
2 D) H1 P l0 ?$ O9 R' K: w" Y2 ~" j* ^5 E3 y$ `$ i7 J, J
/* set default diags mask *// e$ \& Y3 B/ G
var Diags = xdc.useModule('xdc.runtime.Diags');
4 |2 o# N+ }/ e3 Lvar Defaults = xdc.useModule('xdc.runtime.Defaults');
0 t+ ~) E: Y% q7 _9 Z* G4 h/ _
9 H7 z k7 U# ~; ?4 wDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
3 I1 f! \7 Q/ G* S( ADefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 ?: E% ~9 y5 c* f7 W! mDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
K4 j) S1 X- U5 S z: @; CDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts *// p5 B J# L) ?! u/ X
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */" U0 ?5 z0 }. d/ L% g
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
- g, l, t, w" I4 r+ vDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 q1 \& L- W& x0 @- |1 X
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;; W% F4 ]0 t9 a/ m. x H
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
- R) v7 y- E9 B+ G$ QDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
4 \; \( D6 D [Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( X' \& {/ P( T/ h9 P4 J2 ?& a3 G
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
/ S R& I S# c8 Z5 ^; P# jDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;9 m. M3 K7 V' T7 w2 s, c
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
/ f# }/ V5 i4 B( a
; D8 g3 _- q# M4 J/* override diags mask for selected modules */
; H7 j8 C: t0 Ixdc.useModule('xdc.runtime.Main');
; G$ F* z, F, U1 \- E FDiags.setMaskMeta() e% Y0 ?" m6 _7 B+ r- e d4 T
"xdc.runtime.Main",
0 G: b7 g8 [$ c6 w c+ t1 p Diags.ENTRY | Diags.EXIT | Diags.INFO,
7 T/ E3 i, k" B1 z: ?# `6 Y' c# j Diags.RUNTIME_ON
+ d- B* h! @4 I3 C5 H" i1 r4 U);
* L+ a( x" @- S/ @7 N! k
8 D- R1 M1 F8 t3 @" Evar Registry = xdc.useModule('xdc.runtime.Registry');
$ w2 v( t; c2 h* H9 W7 `Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;! k1 d% G) l# T" v" W
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
. ]: R1 O: k/ @- A1 QRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;* K5 p; t+ H4 D) `- f' H# L5 q+ C
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;9 o8 K) C5 r7 e, R/ p7 H) x
" ~) ?0 g( ~, J! Z- E0 {/* create a logger instance */# I$ o0 t4 C, [! x0 h
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" t/ M- N$ i0 b8 T
var loggerBufP = new LoggerBuf.Params();8 n4 T, X) T! g' b
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
9 B: J/ z* s# jloggerBufP.bufType = LoggerBuf.BufType_FIXED;7 B9 K- `% W k% M( U- t; t w& c
8 f. K; @% O O% {$ n' ~var appLogger = LoggerBuf.create(loggerBufP);
) H, n4 @- Q. K3 m: O+ y: iappLogger.instance.name = "AppLog_Core1";8 x! D& K# s7 K* M
Defaults.common$.logger = appLogger;
0 [$ T- h; | ?* j2 n5 D/ `. fMemory.defaultHeapSize = 0x8192;
; C" l" r* x, H& w& b; \/ WIdle.idleFxns[0] = "&LEDStatus";
- Q: X7 E4 v. s2 m( LCache.initSize.l2Size = Cache.L2Size_32K;
) Z. l* Y4 x) V: v
4 ~) v0 V+ q( o# V/ ]8 f& Z |
|