|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明' p% k2 Z H4 ]! z0 a/ H3 y
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
! p, p$ g. V; Z) a3 l; _(不过疑惑的是,为何单独DSP仿真就没有问题呢?)1 L. a3 U- m4 t6 {) F+ z
5 x6 X6 m# i9 W; o* @" D是不是需要在DSP.CFG中进行配置, M h! i# y2 @& q2 W: E6 T9 n9 w
我现在的配置为 b2 J3 B8 v- d# t$ ]
1 F9 q: g8 G; d& Q7 l" E W9 k/ }
/*
( A# t0 r2 c( | * ======== Operating System Configuration ========! N! R4 p" d" D/ E/ ~0 w4 }
*/
: K+ X# C0 e3 k' w* A
3 l) [" c1 X7 |- ?/* no rts heap *// {& r( C, u# C6 I9 m
Program.heap = 0;
. F4 f7 ]9 v0 W" q/ n/ h8 o) U r) pProgram.argSize = 100; /* minimum size */' d5 u- U; N$ L) K; m
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
) p0 }' W% A! T+ H' O4 T4 Z7 m* G# J& C
/* create a default heap */
7 J: s2 Z& q) Z; L0 rvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');, g; A. T. l% P) m
var heapMemParams = new HeapMem.Params();
* w: i H0 J) s/ t, X) \8 qheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大! y2 Y( b6 v4 O) W7 D% ~
/ K6 D4 o5 d r/ v8 Y5 i) s3 o! e- ^3 k
var Memory = xdc.useModule('xdc.runtime.Memory');
4 K5 @6 K, { X/ b bMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
1 a5 T1 E8 Q2 b
: Y2 n6 o% |: Q" T8 v3 I/* configure System module */
( d2 y& ]" Q8 i" h) |var SysMin = xdc.useModule('xdc.runtime.SysMin');
m3 V* o6 v+ G# R# Q+ n, dSysMin.bufSize = 0x1000;: i- O2 M! J! T
SysMin.flushAtExit = false;
+ D" `5 E9 S: c4 H! F. d: f) ]1 v: c& v A, C8 F
var System = xdc.useModule('xdc.runtime.System');
" H) w- d R5 E! h! CSystem.SupportProxy = SysMin;7 H( X c7 u& n% |1 x) N# I
0 _7 l' ~9 y/ c* h
/* configure SysBios to use the lower half of Timer 1 */
i% i) `2 ^/ p4 lvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer'); b& S. ?+ R) o
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
4 O, `1 u. {: M( X7 u3 @6 q: E' q7 _Timer.timerSettings[1].master = true;
- `! t5 S- b: N4 g1 XTimer.defaultHalf = Timer.Half_LOWER;
+ b( B' ^3 A9 [; R) P$ F) nClock.timerId = 1;/ F5 D4 |5 c: V6 x4 ?4 `
2 c3 T7 W& L! A5 {# E4 Z
" E( }% ?8 a: @# T y/*9 X) ~, w# X" i, Y* v
* ======== Miscellaneous Configuration ========4 D' i4 h) b7 X! l9 }5 P! m9 _- D
*/
# }4 r! R+ r/ R6 w% I: B8 b2 {! ]$ W4 j- [7 X$ y5 S
/* set default diags mask */
! C3 v6 X; h W2 W* tvar Diags = xdc.useModule('xdc.runtime.Diags');
2 Q5 Y: f1 X8 Y1 {. V0 R1 hvar Defaults = xdc.useModule('xdc.runtime.Defaults');% i$ L% z& k# g: R+ i
5 a5 y! J1 I l2 h/ c
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;1 i# \8 b1 J& ~. {) L
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;0 G! f( v2 Z [ V0 t/ u" O2 b
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; y6 {. y' ?5 h3 z& aDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */% E6 C+ J1 V% d6 c u
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */8 G' T3 |; j) X! q9 A' O4 i
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
% K U, d, T+ A/ Y/ {2 e2 X9 a5 q2 GDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
! D) B; g, h' \4 o N3 G+ DDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: Y) ^* _2 m" o$ u; pDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 o/ I- E6 M8 Y2 n& Y: hDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( f8 I; n* i% [* x5 KDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;& n) s& b! x2 S4 e# g( x% \
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF; h& O. A( W3 X( g% o3 x, ~, V: b
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;$ t* r5 w. w4 Z! Q
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
8 C' \! y5 E m8 S& l2 ]9 f' j: Q# k9 M5 w% w' r* y" a$ H
/* override diags mask for selected modules */5 z6 s# r7 ?1 h; I3 }% a
xdc.useModule('xdc.runtime.Main');
- O9 ^' t6 N4 i# Q2 {! Y* Q# I$ ]Diags.setMaskMeta(+ I; B( q3 P7 q# _0 P
"xdc.runtime.Main",
7 H0 [2 w4 a2 O8 [& L+ J% A" F Diags.ENTRY | Diags.EXIT | Diags.INFO,, K7 G+ n4 _( B& f' k2 d% D6 |
Diags.RUNTIME_ON
3 S7 e7 r1 K5 L G* j0 M6 t1 f3 D);) S0 ]* x6 Y# y+ n8 [' K" {
% V( t) a8 {+ U4 G" W m; ~% gvar Registry = xdc.useModule('xdc.runtime.Registry');4 B2 x# C. v1 D: v/ C% S
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;4 U1 S. Y6 u$ N0 \1 m
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
' u& [6 `' E+ ^Registry.common$.diags_INFO = Diags.RUNTIME_OFF;- v. S$ i/ B7 e( ^) S* P
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 D5 u5 V$ o- j: @5 F7 [9 u
, V( N- p$ k+ e
/* create a logger instance */" Y( f, n7 h5 v3 H/ Z* O4 I6 b- ^
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');2 Q# O2 N1 k; P: O& Z) Y0 W; X- e
var loggerBufP = new LoggerBuf.Params();
" d: R6 q% A9 E* J" AloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */. r6 \- m8 N: `/ a4 x
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
1 u3 Y: B% S W, `1 P) y
( P( j0 z7 n# w0 V8 ^var appLogger = LoggerBuf.create(loggerBufP);5 e! R n/ y$ M# g" q/ P
appLogger.instance.name = "AppLog_Core1";* [3 R( H/ X+ f0 g
Defaults.common$.logger = appLogger;
" H$ Y7 i/ |1 v" h6 `2 }Memory.defaultHeapSize = 0x8192; 2 Z5 j- o& _" ]! s& J: y# b
Idle.idleFxns[0] = "&LEDStatus";
: ~9 F0 q, k& v! S- g' p# QCache.initSize.l2Size = Cache.L2Size_32K;
6 w! Y$ a8 f/ ^, K
' n) C9 Z; V8 a# H% F! U |
|