|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明4 T. M/ V: S" d+ T
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- u8 U7 V! _7 K. Z1 r$ J }
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 j& G$ q9 ~" N9 C& F# l/ Z* S) _5 |) D2 p
是不是需要在DSP.CFG中进行配置5 M: z: F9 q {* C3 x4 n9 C
我现在的配置为
+ X( m! i; O7 D8 L+ N5 x6 o& N) e/ n5 a# {% Z {
/*6 w- A L' Y( c
* ======== Operating System Configuration ========
" O+ h4 Z( O3 f Z/ e5 z' W3 i */) g( n7 G5 P8 \- w" V
: R' @- `+ S9 h
/* no rts heap */
* y& N6 ^8 q9 h2 t8 JProgram.heap = 0;
6 a9 h# F: p% }3 HProgram.argSize = 100; /* minimum size */0 O& }7 \6 n8 n9 F9 L/ }+ v
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
- m9 Q7 O" M" `' {; r2 l1 h5 P, F: \( O, d
/* create a default heap */% Q. R' K% z1 Q: q& m# G5 V
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
T# i# q: g Z" _5 Pvar heapMemParams = new HeapMem.Params();8 h" z0 m/ d b5 \
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大4 U, f3 S8 w5 x( x/ B k
5 K7 d' T6 P; o
var Memory = xdc.useModule('xdc.runtime.Memory');* v z% C1 |0 C! s% L/ G, H. U! d
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);" k" C- d( [4 r) |; s! ~6 j( [
6 F8 G7 f6 c3 l8 Q% N9 @, z0 R/* configure System module */- B5 b5 {3 g5 X( ]
var SysMin = xdc.useModule('xdc.runtime.SysMin');
% ^6 \% x1 a) M: bSysMin.bufSize = 0x1000;4 U2 l/ N1 \1 l- Y g4 f8 ?4 N- w
SysMin.flushAtExit = false;: h, i+ w {. X* y
3 D( |/ ~* d. p) evar System = xdc.useModule('xdc.runtime.System');
5 n+ Q3 Z3 @% p# cSystem.SupportProxy = SysMin;
- S9 N, T; P, c; ]9 \+ ~
) y% H! F: O' s( J# m/* configure SysBios to use the lower half of Timer 1 */
+ Z# v7 }$ v5 A# A2 j& @; b; Uvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. f: n9 M1 D1 |& cvar Clock = xdc.useModule('ti.sysbios.knl.Clock');: U/ _! f) Q1 u+ q% S$ `. C) `
Timer.timerSettings[1].master = true;
; Q* C! |: [/ l! ^8 rTimer.defaultHalf = Timer.Half_LOWER;8 K1 |- G) e5 ?2 G, N
Clock.timerId = 1;3 T) e7 p, N7 P( L9 x) Q5 r
R9 D0 W% ]7 [
0 i. W+ M0 Y( B5 t+ H/*
! T( [. r( C2 x/ K" O4 `/ R * ======== Miscellaneous Configuration ========7 Y, C) h) j, R& g/ G# Q% V
*/* G$ b8 r/ e6 i; p
% F4 `! `- Q4 t, z9 E
/* set default diags mask */
1 w) q- s% l! X( A1 u0 w# nvar Diags = xdc.useModule('xdc.runtime.Diags');8 M/ a8 {8 ~, m& N" x
var Defaults = xdc.useModule('xdc.runtime.Defaults');9 L- N4 {1 Z% z( i+ A& b
% u4 _/ l B+ v( ~4 T) x' J+ `Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;# _# x! P& j, Q( ~, R6 `) f6 k
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;+ S4 X+ y2 c+ ^8 Y$ j- b
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;1 T4 c" J" X7 W# z8 _
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
; C8 J& |8 r* ?% k% }Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
% G. b T6 q& L0 T7 oDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;' Y7 n% }% c+ v4 q2 E$ d
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
`. ?/ f. Z: c' p, `; dDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;. b7 @' w9 v3 r" R4 R
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 q& p: C. {: k) T; L0 CDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;$ |8 G7 N5 m* d0 ~. K- ~
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;* S T, w7 @' Y) h1 I
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
; p8 W. R. l0 ~0 ZDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
' R1 C' d8 d, }Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 d m& [. ^; R4 p9 |. T
, a- @1 Q# o/ r4 E0 N
/* override diags mask for selected modules */0 B9 ~- \( c/ Q2 s4 M9 H9 w
xdc.useModule('xdc.runtime.Main');
4 }' f' ]% o; D* GDiags.setMaskMeta(
8 A0 t9 z& I* o6 f$ U; g "xdc.runtime.Main",8 b w. `/ e, c' U
Diags.ENTRY | Diags.EXIT | Diags.INFO,
: _0 u; d9 s& D9 c; b3 L! I Diags.RUNTIME_ON6 [' D& b. v% n$ R0 I* B( J
);
2 W' v, t) M) J& c
+ U; {' R' V9 z& Y' pvar Registry = xdc.useModule('xdc.runtime.Registry');
$ P" S, t2 J. e" S2 ^. ARegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
; L5 f# j9 L6 M; j5 O1 A nRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
- f+ Z4 C1 z1 o/ hRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;' K2 R. p) n. d7 f
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;) D/ l' v( z" w8 a8 l) N. n7 K- Y
# c, y! ~9 a/ O: N# h/* create a logger instance */
8 P! H5 T3 t2 g+ Y; V; {; X% J: Wvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
( s0 R8 D) w# r7 t# A- j6 Hvar loggerBufP = new LoggerBuf.Params();; {3 H( c* ]# V
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
( b7 n% Z7 J9 LloggerBufP.bufType = LoggerBuf.BufType_FIXED;
( \- O1 |2 D, t# y
% B3 Y% U7 X8 D$ h& F! U/ W/ bvar appLogger = LoggerBuf.create(loggerBufP); Q4 C3 A% `, k: M( N( e# V
appLogger.instance.name = "AppLog_Core1";# s& a {' x. t; G- ^% s' e5 ~
Defaults.common$.logger = appLogger;0 H/ C% K0 S5 R! W
Memory.defaultHeapSize = 0x8192;
% E! Y8 r S3 `5 L, g2 G3 R5 m* U: vIdle.idleFxns[0] = "&LEDStatus";; h2 |6 K& a2 g; l0 g( J# J1 z
Cache.initSize.l2Size = Cache.L2Size_32K;
8 ~! q' W! K- a/ ^
8 p% F% g! n3 d# r |
|