|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
. ~/ C, R/ h& |8 [2 r我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# g) }; m& m( Z4 e) ~(不过疑惑的是,为何单独DSP仿真就没有问题呢?)2 h1 l: Z. e/ ~2 @
; D; P- }( U$ R5 y5 a
是不是需要在DSP.CFG中进行配置, ?3 g* j) k x2 ~
我现在的配置为( F8 Z' D; ^/ z6 B- z' w
2 ^, d+ W: A% N/ A
/*% ?6 z: j1 {( b# `8 V
* ======== Operating System Configuration ========
$ Y7 x/ ~6 N& t8 \* i6 M8 f0 \ */* J7 K9 _& ~! z! E3 p" n* |
* K6 v" |" X# d, z/* no rts heap */
0 s+ E# t3 Q' u% C. H0 a3 XProgram.heap = 0;
. [% W4 g4 \/ W0 M [6 ZProgram.argSize = 100; /* minimum size */! I; r( \4 w' i9 O1 z' G
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大 Z% D1 K4 Z3 R
5 P/ l# _& P. y; U: { T: R/* create a default heap */
: Q* d$ n) D7 ~5 @* ~var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
5 t3 L5 Q% Q0 V. c, Nvar heapMemParams = new HeapMem.Params();
3 [7 u4 H8 I/ Y1 _6 @heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
8 f1 r, `: w/ N6 s: c. Q6 z; R& F- V* b0 q+ H
var Memory = xdc.useModule('xdc.runtime.Memory');4 k Q' t. _* j5 B/ @
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);/ I; K5 I0 J9 \' _0 b
3 u. P6 z f0 y5 @/* configure System module */
" i4 s! N1 |# e( H5 tvar SysMin = xdc.useModule('xdc.runtime.SysMin');' ^' n$ K4 D$ Y& C6 b5 z# F, a
SysMin.bufSize = 0x1000;& B( ?1 q6 n" g( L- C, C1 G. T+ s6 y
SysMin.flushAtExit = false;
" ~! a* h. r! E1 v" \# t5 w1 X @1 C
7 y# c! O" A, w* ^% ivar System = xdc.useModule('xdc.runtime.System');; ]4 i0 k6 N6 ^9 V. q
System.SupportProxy = SysMin;
& M9 ]. `, I, c. q
. Z! o8 h2 B3 P) a7 Z; `* V1 t/* configure SysBios to use the lower half of Timer 1 */6 B$ k6 t7 t- u0 J& W
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 X; A3 a- T- N: N. }+ k9 w
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
6 S$ `7 ^, H9 ITimer.timerSettings[1].master = true;- {; U' Q' B. p n
Timer.defaultHalf = Timer.Half_LOWER;
L0 Q6 V3 W2 S' M6 Y8 e. s# HClock.timerId = 1;
1 x% J; A& k( H. ], k* M; _" I1 t: I% T* u
0 L, Z5 F# m) V" V, `) z8 u4 A f
/*5 ?% J, P% A* ~$ s* V
* ======== Miscellaneous Configuration ========
5 [6 |- g/ M. D! }! |+ a, u) s */# l; x! a+ Q6 ]' @8 f
6 G. Z. F3 V4 J, l4 N
/* set default diags mask */5 Z9 Z* F4 h$ l' {9 _! U/ V3 t
var Diags = xdc.useModule('xdc.runtime.Diags');
+ Q' F* b9 v [2 I( P$ Qvar Defaults = xdc.useModule('xdc.runtime.Defaults');
, {" I2 ^+ G5 I- R' `8 E
' i0 d5 F/ e$ ]/ b+ [) H( |Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
- Q7 [- p9 C1 `+ f, wDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;! L4 O6 F' c X O9 a
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
, n0 i8 S6 ?1 p4 i% CDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
; i3 {5 e: P4 n- e# @Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */& R3 W" r' a4 H* s+ G. ]# y0 H$ a7 T: y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
. j" N( R+ ~2 h8 A4 M- w5 ?/ DDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;6 M" W( t$ h" k, W4 l" M
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 B+ H- s: a9 XDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 r- k- D Q/ [. [0 i
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 v3 R* T7 |& i8 v5 PDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
7 M9 E' ] Z/ F0 {+ U/ \; W' |+ pDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;* I- b) w/ Y; C7 |! V1 Q4 b
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
- B I0 n# b/ B; j. KDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
$ s) q* F$ J2 g" J; [6 X, R2 M& C/ I8 n2 K* p' E3 n8 j4 P& Y
/* override diags mask for selected modules */# Z+ t8 B0 {) S" Z" l6 p/ o
xdc.useModule('xdc.runtime.Main');
5 v! ~! B* ?* v$ h0 tDiags.setMaskMeta(
: t" L! n4 W; R( r9 N "xdc.runtime.Main",5 T3 ?" ^' U V+ A, {; ^) ?
Diags.ENTRY | Diags.EXIT | Diags.INFO,' m9 y0 J4 ]- Z0 Y* W
Diags.RUNTIME_ON. F/ w& i$ X5 h2 j4 m' v A
);3 f4 [2 ~. w% S- {# ~! @
$ _ U' F% ^( d: g3 ^4 F4 avar Registry = xdc.useModule('xdc.runtime.Registry');% S: Z% g; n/ M9 K* [* ^* ?
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
/ e$ J7 ~( ?6 f4 K6 Q- ORegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
" } j, Z- G9 j1 PRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;( `/ G, m5 \9 ~2 _: E8 j" y' j
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;$ ~, A% s- S. C S8 D
$ s2 E2 V+ _( s
/* create a logger instance */' \, W. P2 @! A7 w" @
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');, f7 C+ Y7 S9 z: T
var loggerBufP = new LoggerBuf.Params();
- V) |# E$ ]" N4 z+ S7 U7 J7 ^% @- r0 ]loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */3 O; _/ P8 ]- Y* [" |8 W; g
loggerBufP.bufType = LoggerBuf.BufType_FIXED;: M, F1 Z7 s( E1 ^, t- n( n+ ], Q( }6 z* e
4 O' X+ H! _& N3 M" a! G% q( n2 t6 tvar appLogger = LoggerBuf.create(loggerBufP);
) ?8 N9 I& N: ~7 Z9 x7 NappLogger.instance.name = "AppLog_Core1"; y5 z5 w4 ]7 y1 n$ n
Defaults.common$.logger = appLogger;: D0 ~% P6 L! [7 Q3 T# e1 F' M
Memory.defaultHeapSize = 0x8192; ) [# D _# ?1 A0 P, U
Idle.idleFxns[0] = "&LEDStatus";
* r& j( b! n# H9 Q& JCache.initSize.l2Size = Cache.L2Size_32K;
$ W0 r+ R3 I7 x Q/ ?+ H- o' K: v2 V% o; f* [/ ~# T, m
|
|