|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明: r# @4 i* A! ]8 [9 e, f/ }" U
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下4 c/ q+ z1 L. `! @4 H2 B5 G7 j
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& c+ ]3 |8 L, o. j6 u( N
' w/ l# i* w; y o) a是不是需要在DSP.CFG中进行配置
* U4 V L1 i, i: N我现在的配置为
6 n. Q9 O6 T% ~/ V; G
1 ^, T! u2 ^) _$ `( ~+ ?/*
- W: w8 O* H; h6 H * ======== Operating System Configuration ========4 x' y# X6 [+ C! p6 m
*/
# h" b$ o* a: K+ K, S: W
9 S; ?7 m5 Y9 f" y6 e, \) Z/* no rts heap */
( M A7 D2 S% @, U0 v1 JProgram.heap = 0;
( {9 ^9 Q( B/ L% g4 C7 \' kProgram.argSize = 100; /* minimum size */
. j( M3 v% d- r, PProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
+ _/ h5 f/ w6 c5 @8 B9 l4 k Q0 C
5 o9 q& n. S2 L. w' N/* create a default heap */3 g/ ]9 b0 G6 [9 x0 G
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
" R7 x4 l& M/ gvar heapMemParams = new HeapMem.Params();$ R" R6 j8 F: m; h/ c3 T
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
1 S' J6 w2 H: R+ q
8 i8 [/ v3 q1 y3 avar Memory = xdc.useModule('xdc.runtime.Memory');
: G6 d: u$ M# BMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
& J: X$ X0 u1 j7 }! W; b
# ~# j' N& K5 L f/* configure System module */- c. g+ S6 _4 N) ^' j# M
var SysMin = xdc.useModule('xdc.runtime.SysMin');
- p% R- d7 i! M$ g0 LSysMin.bufSize = 0x1000;5 {% h% p/ W' P+ F, y: A' ?! Z& z
SysMin.flushAtExit = false;
" p' @9 b; o r& P: C: t7 T. o1 c. x; ? G/ S% ^/ Y
var System = xdc.useModule('xdc.runtime.System');
; S0 r, @7 U: D gSystem.SupportProxy = SysMin;- E% X! x4 x) Q8 u( D5 u7 c. z! N
: `& P2 N. H% v/* configure SysBios to use the lower half of Timer 1 */3 J2 ^8 E: W7 @: ?" l0 u+ @4 c
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" j2 M$ O: n: t
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 ~& H1 D7 g' XTimer.timerSettings[1].master = true;
8 a; ~4 S1 M, R2 TTimer.defaultHalf = Timer.Half_LOWER;
. N( _, u7 R. U/ G$ A4 r% xClock.timerId = 1;
3 e1 M1 r8 p; y0 b' G' ?: w
+ r' T1 v$ G4 d+ C
$ y# Z4 J' p O g/*
6 V2 U) l# O8 J* N# q4 W' a * ======== Miscellaneous Configuration ========* G& P* H* [- j6 K& {
*/% D# o$ T2 Y! w$ s: |0 _1 _2 B
3 N" d; `. O* f9 O% a6 q# b r
/* set default diags mask */
, c) }8 U4 h! T" bvar Diags = xdc.useModule('xdc.runtime.Diags');* h( ~) N* M1 z
var Defaults = xdc.useModule('xdc.runtime.Defaults');3 o, _7 z+ K9 S: v% r4 {4 g
2 d+ w' y+ }$ v& k* q, qDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
7 ^. ?" t4 r2 ~% X* N: CDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;. Z- r/ z |2 p+ T- |1 _: X
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
, b* @) j8 E( r; PDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 M7 n0 S% C; T% k; Q8 [) iDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
$ ?, O- W% g3 _$ n9 \: A- iDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
& c* j' v W6 s5 ~Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;" b5 h: g5 l* J+ n e* p. N, ^
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 I: R/ }" J. A$ CDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;3 u& D9 m6 ^3 X3 Y! h: |+ Q3 L
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;" l0 C6 r. ]! W" G1 u7 |
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;' O2 i0 c1 u, m
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;6 Z% `7 M. ?5 p( K
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;* d) G# Y# w' a1 L! ], A1 |
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;' ?/ @2 ]3 |+ t, W: K7 ]1 M
' G: L) d, h, A, R. N/* override diags mask for selected modules */
9 Y3 `7 y. l% g& j4 u7 Ixdc.useModule('xdc.runtime.Main');
; Z b4 U9 b) ADiags.setMaskMeta(# k7 X. `) D4 J2 O. N1 X! y
"xdc.runtime.Main",6 J4 g9 H6 C- d* S1 Y" t
Diags.ENTRY | Diags.EXIT | Diags.INFO,
4 {6 O5 r6 b9 J2 f& Z Diags.RUNTIME_ON
. `: J1 ^! X- A1 v( y1 V( W4 L) k);
O6 e8 g- A2 \ [0 V! X: v, q2 _ m9 } J! G( _1 t- C
var Registry = xdc.useModule('xdc.runtime.Registry');
" q% ]1 ? `: M" hRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
, |% n2 V9 g5 Q4 u5 o) Z4 {7 _Registry.common$.diags_EXIT = Diags.RUNTIME_OFF; m3 @: l: p; \* ~" I3 A) \
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;" u7 ?% q/ Y7 W0 S- n" n, ^* T
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 K* P" j% K: \# G( Q8 W6 f! x' W4 e& G1 a6 g+ j( m
/* create a logger instance */
( U9 F9 O* \7 W: q; bvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
8 e" r: o$ [# o3 i L' d2 wvar loggerBufP = new LoggerBuf.Params();
; l) [, K! v# [! C7 s* T7 b! BloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
4 C+ I) ]7 X8 b, Q. r( ^) zloggerBufP.bufType = LoggerBuf.BufType_FIXED;/ a' Z3 j( V4 u
( `* _. Z$ e% y( B6 {$ M3 S7 `var appLogger = LoggerBuf.create(loggerBufP);
& l% Y' k& X9 l/ H% }/ S) tappLogger.instance.name = "AppLog_Core1";
$ ^7 J |$ C3 v7 v( e! G& ]. n. S; LDefaults.common$.logger = appLogger;
6 d+ u- ~( S) k0 t5 I. A! a, MMemory.defaultHeapSize = 0x8192; + Z, Y8 r p' [7 N+ q- F# i
Idle.idleFxns[0] = "&LEDStatus";
; s. K) a% \8 q7 \' T* LCache.initSize.l2Size = Cache.L2Size_32K;
; `. q2 s" P# x/ u X5 m& W2 S5 D! B, P; ?$ P' R7 o. q
|
|