|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明2 m& u$ H4 f: H/ e/ |1 a u, |
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下7 l! P. w5 @* T' h& I
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
/ X; u0 K4 c0 S7 h9 v# K% c0 Z# F/ ?. O
是不是需要在DSP.CFG中进行配置( V( l7 `2 K5 g
我现在的配置为
) D; U: @$ Z- A7 x0 m2 m* x7 k" U3 ~1 F
/*
5 S" F1 `2 C4 a* Z) {' i * ======== Operating System Configuration ========- Z( v5 E8 u/ b! f" ]9 l& Y6 O
*/
% H& B0 p2 K8 {4 n
! W9 Q8 a9 @8 D! w( W/* no rts heap */; t5 D, |9 W5 d( S; s. f
Program.heap = 0;
% |! H2 |7 K, Y9 pProgram.argSize = 100; /* minimum size */
2 {: i7 i. {9 k) J. k; R) z2 SProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大# K. |1 H9 P, B8 V9 T) ^
* [+ s. O# f/ ^8 u- s* [7 k
/* create a default heap */
* G2 n7 n! s V: @* zvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
. u6 G! g3 C; T; M6 jvar heapMemParams = new HeapMem.Params();6 }. }8 Y& K2 t4 H2 J- v
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大7 P/ J; z- t0 m8 ~6 u! R3 J1 K1 l
9 g9 }7 D: ~) j/ y2 t- r4 X1 w
var Memory = xdc.useModule('xdc.runtime.Memory');
0 M# v! q L2 T4 ]Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
) @- g! w/ F5 m$ z! ^4 g+ Z' T
4 K7 S$ M& x4 m) M2 Q6 |/* configure System module */ _2 b# S% R$ d7 F' Z8 }( Z5 X" L# w! l
var SysMin = xdc.useModule('xdc.runtime.SysMin');- D; n3 p0 U9 j' V& s3 u k$ a
SysMin.bufSize = 0x1000;
c+ v4 X5 K+ ]/ f+ mSysMin.flushAtExit = false;
, q4 u" T/ L: L* v: W
5 I! _/ y( R Y$ F( r$ E9 x/ \var System = xdc.useModule('xdc.runtime.System');/ \0 S! r0 v0 S. r H* f6 Z( W3 c. ]
System.SupportProxy = SysMin;
& J0 u# t, N" j, E1 I$ H% i( F. P* H5 o# F) l7 n4 c
/* configure SysBios to use the lower half of Timer 1 */+ i2 N# M; C4 g; e& {! G, _* y
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');) o% G# c! o5 w9 f
var Clock = xdc.useModule('ti.sysbios.knl.Clock');% K6 `8 O4 M6 M5 [/ D g
Timer.timerSettings[1].master = true;( }$ i2 [0 d2 j3 r
Timer.defaultHalf = Timer.Half_LOWER;
2 g; o1 H8 A2 ] @Clock.timerId = 1;5 V% K5 P( {9 d( T, [ W1 T$ b
0 T8 |( _0 e4 r; e2 o2 s1 t- @! ]6 |) |* n7 v. e9 _% ^$ `' |8 d
/*
' R2 w; E8 t, ]$ G- E& w1 u( \ * ======== Miscellaneous Configuration ========
% B6 J" _& u" [5 w$ W/ y1 S */0 T3 Z. Z9 O; @$ E
( s0 N6 i# D2 [/ W4 v/ }
/* set default diags mask */* V* K. M+ S# [: y8 t! d. z, I
var Diags = xdc.useModule('xdc.runtime.Diags');# C) o# e- n0 `3 z
var Defaults = xdc.useModule('xdc.runtime.Defaults');
?% t: _" \6 n6 Q9 N$ j
5 ]$ d! z. S1 b. t6 k4 x0 kDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;2 a0 B% v% V4 u& W# Q; g
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
7 C: h8 H( i' z& w+ IDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
4 X' Q3 l h- l; h9 c( HDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ K2 O& {6 z2 V) l) b! q5 [2 [; ^1 R
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
* r4 T+ w$ n; SDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 C) s" L; B! I: N1 r7 T' f
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' x% t! ^5 [* ~ aDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;! L% L9 @$ @( r- h
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;. d8 q+ d- S+ x
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% t7 y3 s& ^ h6 a
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( X( ?( E9 `- Q/ p1 ]
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;( D% ]3 j9 a# J. I- o
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;3 P8 M& j& ? l x' ?" I$ q
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;$ I4 D5 i ^) O( n
1 ]6 t# a9 O" J8 i; [/* override diags mask for selected modules */
# L7 |* W. }" y6 |, r4 yxdc.useModule('xdc.runtime.Main');
t; g1 r b3 UDiags.setMaskMeta(9 j" v( F1 k" Z' w- g2 Q' ~. S1 k0 J
"xdc.runtime.Main",
- p; [ t+ O# v% I, r, i Diags.ENTRY | Diags.EXIT | Diags.INFO,; L6 C S8 A$ g( j1 }+ E
Diags.RUNTIME_ON9 [6 e$ Z% D7 y' ?' z1 K# I0 x
);
' P3 d6 G9 D. j$ c
6 y% a8 a+ {2 f$ G0 i3 k5 ]! pvar Registry = xdc.useModule('xdc.runtime.Registry');
% k& x8 E0 |6 `& k, gRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
; p. i6 ?4 n" @( Y/ m$ SRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
1 c6 {" B% H; ]1 p# v0 ORegistry.common$.diags_INFO = Diags.RUNTIME_OFF;5 \- D6 L/ V0 A+ x0 T; D
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;. p2 n& G% R. b, L) T" v
$ z3 W. w* @+ c/ h: p' [: L/* create a logger instance */
# e% S' W4 r9 W+ i3 d4 yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
- C4 U9 A. Z( t+ H8 ]9 Ivar loggerBufP = new LoggerBuf.Params();
. H- v9 d' A- rloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */& C6 |0 \# q: G& v4 H
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
; e+ K/ z! a" d7 b, r8 l) z; Y$ ^9 Q5 `6 q( ?2 N
var appLogger = LoggerBuf.create(loggerBufP);
6 u y8 F$ m& O* a* `appLogger.instance.name = "AppLog_Core1";
5 `: h3 H+ e$ o0 C3 i; i7 f- oDefaults.common$.logger = appLogger;
' c n0 f2 g3 f B, K6 UMemory.defaultHeapSize = 0x8192; 8 A$ }4 Q2 ^; j8 Y$ ~ s/ a
Idle.idleFxns[0] = "&LEDStatus";9 u% i _% U$ r$ r1 p1 A) D, i
Cache.initSize.l2Size = Cache.L2Size_32K;" \& y8 J& ?% f: h, ?0 u" ]; R+ f
1 d( i* {6 `, B6 d# Q/ S( j7 b: [; w |
|