|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明) G6 m2 g9 p' s5 g' {7 q; K; e& M
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
7 P9 }7 H! p4 ]7 v(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
3 J) C' m* F* m5 {0 y! T- T: `
8 n) C& u* s8 P; [) H是不是需要在DSP.CFG中进行配置: s: R6 R! M2 W$ ^" d: X! ^ c3 f% F5 a
我现在的配置为
4 j! y2 a) ^, o/ s; n3 D* K1 p
- p; B6 C; l& W/ A: ]$ T/*
% l. {3 T$ B) Q A * ======== Operating System Configuration ========
% K( s2 \7 A1 I, r! j( j */
6 w) B% [5 Q4 s- Z: S0 h# h5 T6 J! v; t! [( e) H2 ]2 l8 H+ U& B
/* no rts heap */
9 W/ }, \1 \7 O( ^5 v+ yProgram.heap = 0;
$ F/ o$ x) c0 Z. ^. O$ PProgram.argSize = 100; /* minimum size */
. c. A* Y! c( i G- b p' FProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
# c" l* }1 d$ S, K! ^4 Z2 E$ E3 e
4 K0 P- _* V4 M8 {/* create a default heap */
. N6 {; k0 S; n7 I$ Cvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
! E z/ A9 a+ I6 S# @var heapMemParams = new HeapMem.Params();
. G. W% ?% L0 M) P4 AheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
- O5 {! `4 k% b( D( ^/ z" i* t8 }9 \5 Z1 t9 S! T
var Memory = xdc.useModule('xdc.runtime.Memory');
5 b9 ]6 W# W! u" C) h' fMemory.defaultHeapInstance = HeapMem.create(heapMemParams);0 A# N4 i- }1 C5 H
8 P, X6 O- P5 M; b& m" F/* configure System module */$ z7 a" N8 G+ l" E' P
var SysMin = xdc.useModule('xdc.runtime.SysMin');
+ i# C/ m' _6 B6 X9 WSysMin.bufSize = 0x1000;
5 C. [' Y. ~! _! v# A. g2 p bSysMin.flushAtExit = false;
: P- t: a2 ~* z: ]8 {% h" [
u, r! H6 _3 l5 _; m7 dvar System = xdc.useModule('xdc.runtime.System');
8 d9 Z& m& O' B: d. j5 JSystem.SupportProxy = SysMin;
# G" z& k! o0 l& F) G" r, ?5 V% B, \( P; w
/* configure SysBios to use the lower half of Timer 1 */" ^. Z ]: L0 v' Z2 S; @: G+ ]
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 b. T' h O$ }/ L' C5 jvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
* f- Z& s% U# @# ]5 j% yTimer.timerSettings[1].master = true;
8 S9 L9 t3 J+ E( g7 oTimer.defaultHalf = Timer.Half_LOWER;
) w E! J `5 k* QClock.timerId = 1;
0 S- k5 x( L% ~9 t& U
# o- e8 f+ Z# U" F! u
: I! R! W1 Q m* a& Q/*
3 f4 Y- r; T- X * ======== Miscellaneous Configuration ========4 o/ @; s. C' {2 n+ W! j' T) M- m) v# ^
*/
+ S" m6 [& v) s" i9 \0 W: B1 w$ T: V- j7 i3 @ k% J2 C4 k l o
/* set default diags mask */7 r5 H" H2 h, r: C$ X' |
var Diags = xdc.useModule('xdc.runtime.Diags');
; Z% [! X+ t2 E+ j- k& Y; u$ n2 b6 rvar Defaults = xdc.useModule('xdc.runtime.Defaults');
) C+ |0 j6 H: @
- N1 B0 D: Q) \# k. ZDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;' }) l# U5 b0 y. b2 M
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' E& {7 ~% m. A0 {
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;3 @+ Q! M' W- Q6 w5 Q
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
2 K$ W4 C' R7 P" a% Z1 H% b jDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- L+ g5 w: \. ?0 M WDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
: }* L0 U) O- v6 e/ `Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;4 t+ S( `! [! ~8 j* ~1 ]5 @
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
' H5 Y& {, P) a9 Z# @9 YDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 x, B% Z# E* w6 l! ^Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;* b/ q Z5 ^) x% H& H0 j4 \% d
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ @* y c2 \6 H" ^, Z2 z& e1 }! }Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;! U* z2 ^ v& i" c& O
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;0 S& \% t+ z& G! G: I1 a5 J
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;; M/ @& R9 {% D$ n( m* l
x; |0 Q& F0 Z" N* D
/* override diags mask for selected modules */
, _" o7 K* A8 Uxdc.useModule('xdc.runtime.Main');5 p3 q0 c e& b
Diags.setMaskMeta(, U8 e; x0 z3 i' j2 G+ p; z/ ]
"xdc.runtime.Main",* ~4 a$ W+ b1 X0 d# ]
Diags.ENTRY | Diags.EXIT | Diags.INFO,( r E- v" y1 F$ l( a+ l
Diags.RUNTIME_ON
+ Y* f; u2 O k2 v/ y5 S Y);! G: ?% g1 h7 A
; d5 J4 m/ l* T; w+ o1 [' J2 m
var Registry = xdc.useModule('xdc.runtime.Registry');9 t3 L, f( L3 U3 l3 C7 d$ d% N
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
- Y8 G) [; J7 }' I( {Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;# D2 X$ D4 {7 K6 M
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
0 Y/ n" t; W9 L; L" T, G/ U2 q' PRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 E5 |# y# U0 \+ t% ~. _: q) A0 v8 o( s2 U/ ^+ J2 x
/* create a logger instance */
; F( V- X& A5 U9 E4 t& ^var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
, D3 p3 m7 ~- ]) ivar loggerBufP = new LoggerBuf.Params();
$ F' M4 E5 G9 Z+ m4 Z: [% NloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* X" L: D7 [8 W! E, CloggerBufP.bufType = LoggerBuf.BufType_FIXED;
7 F' x x- Q- c$ Z6 W) F# a B* I9 ]- d% a; a l% P
var appLogger = LoggerBuf.create(loggerBufP);
' x0 y6 z2 s0 g0 M! L% t; LappLogger.instance.name = "AppLog_Core1";/ ^; O6 p% B( A# C: u
Defaults.common$.logger = appLogger;
6 t3 N( Z1 _; e6 z) oMemory.defaultHeapSize = 0x8192; . v5 O9 m$ Q2 X' \* [6 d6 G; @' o1 ~' c
Idle.idleFxns[0] = "&LEDStatus";
d* n) A4 r- B* Y9 V/ q# ^Cache.initSize.l2Size = Cache.L2Size_32K;
- m" T1 A/ q t) p. w/ y2 a. A" f
|
|