|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
6 G& ]; Q% T. R9 m6 b' b! ]我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下( U0 u* q B* P+ X3 F
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ G% a, d- M0 S- \
/ B) F) J9 g; E1 i5 ]9 H; H8 ~- S是不是需要在DSP.CFG中进行配置- _' k; ~# W5 @; j3 J2 n
我现在的配置为$ b6 G, d5 T( t G
) ~, x8 b( J; I' L9 U' q) a
/*, I' M! s0 e3 Z$ [; O
* ======== Operating System Configuration ========
- {2 S' ?8 R% C' I1 k# \ */; ?; j6 W" I( m1 H: \
; H4 |9 S( b3 y; b0 Y/* no rts heap */
8 J# f2 _# @) T& O4 `Program.heap = 0;/ w& F, c" C, j [: Q
Program.argSize = 100; /* minimum size */
8 r; Y" d9 s* u5 X/ k$ AProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大 o) W( O6 @+ j4 y+ P6 n: i
. i0 D9 ]$ s, _
/* create a default heap */
% K5 l+ O9 A4 u5 e* V3 b! G% R% Cvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');2 }- I3 @ ]8 q' `
var heapMemParams = new HeapMem.Params();6 M3 ^( J( V* ]% N9 D2 S! R
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
, x2 O- w7 b- Y
4 W6 `) b! _; |6 e; f, gvar Memory = xdc.useModule('xdc.runtime.Memory');
4 S0 d$ I X6 T8 T# k" nMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
# P, e( |0 b9 P" v1 ^: B) J$ D2 }1 |: C A( X
/* configure System module */3 Y! \6 v8 Q) S& W5 V2 o
var SysMin = xdc.useModule('xdc.runtime.SysMin');
9 ~' w. O6 ]5 Y6 c. \6 C; ?8 Z, hSysMin.bufSize = 0x1000;
L) U3 d( U% G0 n2 ]8 R" i( _SysMin.flushAtExit = false;* P6 Z- h( {' v u& G- A& K% c
0 _5 N; B, b0 v# K/ }9 Q" [/ Pvar System = xdc.useModule('xdc.runtime.System');. D% M r5 w A% H
System.SupportProxy = SysMin;! j. z: c V- {1 j3 ?4 |
0 J! Z; i6 o( l; X1 K7 j" c
/* configure SysBios to use the lower half of Timer 1 */3 l0 d- @! z9 c6 i
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');7 ~' C( j% @/ F
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
7 r/ p6 {( A% kTimer.timerSettings[1].master = true;% K, L7 v2 j4 Y8 N7 z
Timer.defaultHalf = Timer.Half_LOWER;* x& b* W9 `' ~4 l8 t; Q5 L
Clock.timerId = 1;8 ?: @6 F* n& I5 q
, B& m8 |7 P, u+ l- T7 S0 t; ~" B+ y$ y
/*5 h7 D+ r2 L/ Z
* ======== Miscellaneous Configuration ========
7 \1 @' X, H' y4 k! Y */
: w$ K3 d B, E: x% I5 a
9 O$ M0 C* [9 s: u J/* set default diags mask */' I- H7 j# |: d7 O' R2 ^
var Diags = xdc.useModule('xdc.runtime.Diags');% H, Q- z3 Q3 D4 |! s
var Defaults = xdc.useModule('xdc.runtime.Defaults');# ^4 E, j8 k, k7 B' W1 C
: l7 W" d- [% d0 u tDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;' q7 D5 V; w* M1 W3 W
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 Z7 N ]1 B7 v: R- P: `Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
! O. e; @- N' Q/ rDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
8 C: n5 }3 l: PDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
* U7 B: }, }: f1 HDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;2 X. n/ e" ~7 Y) t7 C. \2 L- d
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
8 E: {& c+ f+ s5 @5 m P! s, t& wDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
- L4 \5 d7 g- M. Q" c fDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 x8 d: o) B- B- N* @Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;1 H" m3 L) T {! E
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 U3 A: g2 Y: zDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 [; p$ }$ k. {- Y$ V* h
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
9 |0 F$ ~* C8 g0 c1 xDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;, R4 A) G9 u3 h. m! W- \6 {' s
' p! |$ v3 q) M! w# [0 [9 \/* override diags mask for selected modules */
5 g3 H+ G% Q. [2 Exdc.useModule('xdc.runtime.Main');
) K. q4 @& J! O4 z% |) z( R) VDiags.setMaskMeta(% F1 ?' a8 v# @* R& _2 G
"xdc.runtime.Main",6 V6 r9 C, A1 e+ \6 F4 u# I
Diags.ENTRY | Diags.EXIT | Diags.INFO,$ _: |6 m- h( F$ U" q/ o8 f0 P7 d- ~- ]
Diags.RUNTIME_ON
* o4 n2 g$ v5 u3 j1 L);: D( Z& ?( a. m8 _1 j0 u
( Z7 ]' j% ?! kvar Registry = xdc.useModule('xdc.runtime.Registry');- t* M. M" }( |' f9 x
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. b; K* W$ u# _" r8 SRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;! |0 P' v. Q+ e
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;, n: h+ V; @7 t& f" T' ^
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
$ ?8 x2 p. ~4 v: _( p8 O3 U" m4 _% ?
/* create a logger instance */
6 X$ m5 u- g q: k; H+ A" Q: O; Nvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
5 t; L. O5 E, t evar loggerBufP = new LoggerBuf.Params();
' e: \ X# {4 S4 \! x8 eloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory *// [7 d( I) p! A4 f3 F) N8 f0 q* a
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
# c- K+ u9 U* ]8 R6 R/ Y h
2 ?* V' J4 k) [9 G2 q6 Xvar appLogger = LoggerBuf.create(loggerBufP);8 D& H$ a- _! }( I7 u+ [
appLogger.instance.name = "AppLog_Core1";
, H# A4 X+ [ v0 mDefaults.common$.logger = appLogger;
. r: q5 v3 X0 R; |5 s1 p3 WMemory.defaultHeapSize = 0x8192;
6 }9 f, K' L" kIdle.idleFxns[0] = "&LEDStatus";
. h7 }4 }' h2 z/ G8 z$ wCache.initSize.l2Size = Cache.L2Size_32K;
% R8 w. Y: v+ W) E0 Z$ [6 k. j; u
|
|