|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
4 I& V( p' ?8 r7 c6 H我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
9 c, L% _7 i2 X. `- ~6 x& h7 T4 D(不过疑惑的是,为何单独DSP仿真就没有问题呢?). ~, i9 x& k L0 `# }
* l- j& k! u2 ?7 o* @1 H# |是不是需要在DSP.CFG中进行配置
5 x0 s7 x8 Z( r' j. j我现在的配置为( Z5 g# h9 J. x! S( O
$ {5 C4 N+ O& W3 g
/*
% d* q2 F/ x- ^ * ======== Operating System Configuration ========9 _% v/ f8 P7 |" b
*/( h( Y1 k" ^ ^) z
( r4 [% i8 H; q2 U5 N& @4 v
/* no rts heap */ ~7 U, E4 Z6 O* k6 _4 }
Program.heap = 0;' ~3 e8 @; U4 [
Program.argSize = 100; /* minimum size */5 G G) E. R" y1 J3 b* w3 z
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
5 v; N {8 V7 e$ s' r7 \- ^# a
: `* l5 O8 Y$ c, h/* create a default heap */
5 _ ?5 W7 G3 w8 T7 G/ q' @; S Xvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');* q5 k" t7 d! J7 x# Z7 t5 L
var heapMemParams = new HeapMem.Params();: c& S3 _8 ^4 c" N5 U* u' ~
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
* Z3 y4 |9 T8 g$ c8 n( r
0 W7 }! X9 c5 h7 y8 Z6 h* Gvar Memory = xdc.useModule('xdc.runtime.Memory');7 b5 s2 v9 w# H6 e
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
8 A, K6 \5 c2 D4 z
1 j6 r, z5 L; Y% E0 l3 E/* configure System module */8 I. I& B! {: u8 g. f
var SysMin = xdc.useModule('xdc.runtime.SysMin');
+ v' p+ C+ S3 G' X6 jSysMin.bufSize = 0x1000;
( ?& E# `6 j" A& K K1 E" JSysMin.flushAtExit = false;
+ Q2 {7 Z+ \' l2 M& A5 G& e
+ X( Y, q( O+ z; v) t6 e4 v/ yvar System = xdc.useModule('xdc.runtime.System'); k! n6 W0 c* Q5 {# w) V7 f
System.SupportProxy = SysMin;
9 h! S* ~1 j) M# M- V
; K! u$ o# ^0 c, W% k5 c/* configure SysBios to use the lower half of Timer 1 */- b7 ?; x& A7 n- n
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
- v$ I7 A. k! d; U- lvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
, K8 G, r* N! vTimer.timerSettings[1].master = true;4 Q; @6 I/ E) F6 W0 [
Timer.defaultHalf = Timer.Half_LOWER;
/ E0 d, p6 w& H" EClock.timerId = 1;
- `" P ~7 c* b5 {; C
/ D( M6 O# @- f
0 ^: g7 k. N! F: y1 M" Z/*" m" Z6 b! \ a$ I
* ======== Miscellaneous Configuration ========4 `, P$ C8 X" {+ K+ ^9 G
*/
! s! _0 k/ r9 v4 y* [* n! x* ^+ o: f7 K0 f. a
/* set default diags mask */4 _* {$ x8 K. z+ g5 H. n
var Diags = xdc.useModule('xdc.runtime.Diags');: N/ z7 o& V1 ]5 g D
var Defaults = xdc.useModule('xdc.runtime.Defaults');
$ Y8 Q5 u) w0 Z% f" c, m! t7 E. M' t" w& T
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* l/ }7 ]2 h9 m
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 ^' }' P: {/ QDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
+ x$ v5 E- W# q- X& Z' @" y$ ODefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */" ~# |# |' g% N5 ]. U3 Y
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
' ?9 M5 J6 ~, l" {, Y) SDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ |! }- d2 z7 E. i4 b: v5 w$ _% RDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 b: m# L7 z/ HDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;! A' o9 m9 g/ j3 t; H8 M) D3 C0 i
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
9 f2 d$ |% i; N9 S: N( `Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
" P. ]. S( [% ]9 ~5 H# aDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;- A" ?4 s$ f& w& E& V: k5 ~2 i9 O
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
8 {6 I& C5 ^1 KDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
9 M4 B! E0 N2 ^8 Y" oDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) A- P% w4 T U* G, C4 N. h: K
- S. S4 D/ _$ L! }% \( Z6 L/* override diags mask for selected modules */& }# k4 q9 P I% P, W% B
xdc.useModule('xdc.runtime.Main');* Y4 z) {: h% J: ~% D4 i
Diags.setMaskMeta(
) |% F1 l# w% f* L "xdc.runtime.Main",; }. j9 p5 d8 W) q1 i0 ~$ u5 I& N( A
Diags.ENTRY | Diags.EXIT | Diags.INFO,3 i& y* ~! z: `& n4 j6 {* S, F- M9 N
Diags.RUNTIME_ON
* i' F+ j6 y1 V); x4 v$ y4 t$ s* x0 P/ x1 |; `
4 f6 R+ n# J) v! c7 Lvar Registry = xdc.useModule('xdc.runtime.Registry');+ Y; `0 V' h: j# a, s$ y; i
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;2 [ h# b$ K2 d! |
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
3 q3 l! w5 u, t6 o0 tRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
; [. O5 A+ Y' a( g' yRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
- V3 K) P, R4 U B, [9 k5 V; e9 E- i7 f5 I# p6 H
/* create a logger instance */* B- x9 K9 p$ d8 j4 T3 ^. M& D
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
& f5 v' ]2 ?1 g) x3 @var loggerBufP = new LoggerBuf.Params();& o+ H J; q2 N2 P$ i0 S
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
" N2 F8 Z7 i( d A# ?4 E- _% AloggerBufP.bufType = LoggerBuf.BufType_FIXED;
9 N, p2 z) V7 x+ _6 |! A0 y+ ~) {1 y9 J2 [* h; Y' c
var appLogger = LoggerBuf.create(loggerBufP);
/ [0 }& L7 f- k, G+ [6 d$ iappLogger.instance.name = "AppLog_Core1";
& C" ?6 @# d2 P2 X, F( b. SDefaults.common$.logger = appLogger;3 p" G4 h4 r9 h* e( q, u/ _
Memory.defaultHeapSize = 0x8192;
' U( d! }2 S y. h0 pIdle.idleFxns[0] = "&LEDStatus";
3 L; n5 f2 X- I+ BCache.initSize.l2Size = Cache.L2Size_32K;$ S. r' Y- D- ^
" b' d- t, T+ H
|
|