|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 E4 g$ L; I" j; U2 V( ?& W我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下4 X3 d @0 Q/ I9 ?
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
3 \* M* @3 p9 a" _4 L1 ^, j5 S
是不是需要在DSP.CFG中进行配置
4 X1 [7 [8 h* x6 n+ l% ^/ V! U) X8 A- @我现在的配置为
* j$ _+ x y$ }5 U- d% |3 M5 j8 j, ~
/*$ I( I: W' {1 D& U3 \) \
* ======== Operating System Configuration ========
' H9 r5 F$ {. W- k */
+ p( P# J5 F. ^& F
/ i5 ?& n/ k1 |$ _& W, }- S: I/* no rts heap */' v! B# u& ]/ o/ Y
Program.heap = 0;
3 R ~' S* G* cProgram.argSize = 100; /* minimum size */
$ f- o' N: x% t1 N/ R8 F7 ]* u9 g% W3 Z) O3 CProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大# [7 C1 P: z, r, z# _8 w4 M! s
4 K7 e+ ?5 o( [4 _; R: S6 q
/* create a default heap */) H! H1 i2 P# E4 m4 @" u" ?
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 K/ Z9 A3 Q3 w' j& S- }
var heapMemParams = new HeapMem.Params();
9 n4 _ M+ [0 y' ~5 R, q1 F8 jheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大8 s! v5 R6 F |$ Y5 j( r4 H2 W+ g
! U' X2 X# c' o7 `: `
var Memory = xdc.useModule('xdc.runtime.Memory');9 T1 S' N& h+ d$ W+ T6 m
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
) C) u# b8 o; D. Y2 e3 a
2 Q( n( e4 b! p! @: o/* configure System module */
6 l+ h+ B. s1 J/ z5 q6 V" Lvar SysMin = xdc.useModule('xdc.runtime.SysMin');
h7 s* ~+ M7 _/ P* n0 G# xSysMin.bufSize = 0x1000;) _" x# H- b1 X9 B, B8 I: D: W
SysMin.flushAtExit = false;
9 L, G' h1 t$ O/ n. ?/ e4 c/ s- A2 u" d0 m7 p+ r
var System = xdc.useModule('xdc.runtime.System');
% ^. Y) X& c8 F( P6 sSystem.SupportProxy = SysMin;' p, s# [3 f2 K
, u9 g. G# e0 P( x- H7 L, ]
/* configure SysBios to use the lower half of Timer 1 */
" b6 w7 i% [$ Y, k. ?% Vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
1 B7 B; E/ t: ?( b6 A3 A: xvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
+ r; f' {) v: `# v. F% F& ETimer.timerSettings[1].master = true;
6 i1 h& x8 d5 i( BTimer.defaultHalf = Timer.Half_LOWER;
* G" w! ~( H# RClock.timerId = 1;
4 M# Y6 B, ^" V% I& `/ f1 t$ @" C$ {( F: S4 j B9 x
3 Q) g+ o O& N! s( ~& g/*
3 H/ U- a% L! x5 _1 u8 V * ======== Miscellaneous Configuration ========
! ? @: `2 b2 e! H */
- a2 d. l6 g" D& {$ U; t- T5 l2 }+ B+ d! h$ k$ c
/* set default diags mask */% H3 Z; L, F, ^2 n4 k
var Diags = xdc.useModule('xdc.runtime.Diags');% l- E; s6 j1 I+ N* A( k# q9 y8 B
var Defaults = xdc.useModule('xdc.runtime.Defaults');! @6 P7 g0 G6 \" E# z6 ~; v
( F( b8 L5 [ Q; ^8 L A3 b" t( U
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
0 l" ~' F' O. V# R7 x8 I8 j( P, h' C/ QDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
$ U8 Q1 x$ w, X8 w. u2 x0 ADefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
3 Y+ M* b( l9 c9 i7 gDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
& g# T }9 U$ @/ _/ m& Y1 |/ UDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! ]- ^8 ]. g+ E- e aDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;: L+ Q: k' f- g0 ~4 h5 e' k
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
% |- o- R0 h$ N. UDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
8 I$ T! Q$ D0 L" y- W e1 V/ [Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
: n9 G# l q; v9 }3 `Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( I3 U5 Q+ o x1 }. L, g% L
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
7 d& Q3 R# X# V6 i8 ?" F% [, ]Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
( ^3 ~/ }, ~, ^8 VDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& n( @6 k# ^; J/ _; z* \' p1 EDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;3 s' b3 M* I1 p- B! r$ {
+ j ~ S& w$ `/* override diags mask for selected modules */! e8 p! d j0 o
xdc.useModule('xdc.runtime.Main');
+ V/ l& K' B9 p5 @Diags.setMaskMeta(. j& e1 \" t1 b. n( V9 A
"xdc.runtime.Main",
" y# o; T4 E: |" h Diags.ENTRY | Diags.EXIT | Diags.INFO,) @. J. B* `* N5 @( P6 G
Diags.RUNTIME_ON; ^9 u) v$ I; x
);
( }! Q* T2 D- q6 i& [' H; \* g2 e8 p9 f8 }1 @* d$ e( w' G5 F
var Registry = xdc.useModule('xdc.runtime.Registry');
, Z7 _( C2 |% I6 U6 }8 hRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
4 l! V( g" `2 A6 P& PRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;# h% ^$ q* a/ K& R1 H6 f
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
1 ^1 K4 I& w: g% }( hRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. v7 ~- q! p0 y) k U
( ]3 _# {8 L1 \ \# o0 |6 B/* create a logger instance */
$ F* u- {+ j1 w/ Nvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# G7 V; Z i* d) |9 {0 ?) Z/ a9 i
var loggerBufP = new LoggerBuf.Params();; F9 O1 ^) q& ?* I( f
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */: M' C/ ^9 _+ J( ~4 z
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
8 `( n6 Q. W0 ]9 t: j" Z5 I0 ]) X) N- Q2 P: S& l
var appLogger = LoggerBuf.create(loggerBufP);& G- R; \2 U6 _4 A9 v9 @$ k
appLogger.instance.name = "AppLog_Core1";) r# l c, j2 v* R( m( m; E
Defaults.common$.logger = appLogger;+ O6 [! C, @+ u& j
Memory.defaultHeapSize = 0x8192;
" J$ `- K: A' ^$ w5 `8 |; ^& cIdle.idleFxns[0] = "&LEDStatus";4 y( [' ~& d( ~# o1 H( C8 O3 R- o4 B; S
Cache.initSize.l2Size = Cache.L2Size_32K;3 c0 V% P' g" C0 |% l5 h
; b5 X$ f4 V" ?1 O, j+ g |
|