|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, L4 V: l$ n) v3 K6 i
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下0 V2 K3 R1 n- V0 C
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)' c ~6 f h+ a d+ b
7 d: r' B+ J( K4 U
是不是需要在DSP.CFG中进行配置
% i- M9 [9 n. W& q7 R( s6 ]" L5 Q4 _我现在的配置为
5 m9 R" `7 }6 |) s0 @
$ y/ {' ^7 q" B/** \! q# k" U0 |7 ^; A+ S6 Y
* ======== Operating System Configuration ========+ l1 m- P5 l" j
*/
, U9 q6 t/ C6 H* ]) i1 i9 J" Z- ^4 i
/* no rts heap */
1 E/ L+ B2 u5 q+ lProgram.heap = 0;
# w$ r4 h# t4 U( O1 b" k& kProgram.argSize = 100; /* minimum size */
) h. L: l; k- D: A! e2 u% Z- d. w" P+ mProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
1 F- s* W+ B* w8 G# m5 i; a& F( x) E3 F" h+ `3 M
/* create a default heap */2 J& ^0 E' s( f& i
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
. v' R" R% {8 O0 Q- Y( i0 j8 N7 }var heapMemParams = new HeapMem.Params();" H5 [ D/ s. J1 Y
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
! {( n0 J4 z u+ g! G: z, |- @' g/ R; M# j( W! K6 z6 ~' k* p) U- Z
var Memory = xdc.useModule('xdc.runtime.Memory');& A: ^2 \6 q5 ?
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
( H8 v( y1 {; b( ?' T( J! m7 l/ }8 M3 i# ^$ q+ `7 w
/* configure System module */
o: h+ @ ^8 d% nvar SysMin = xdc.useModule('xdc.runtime.SysMin');" O7 v; q1 I& P4 w# \
SysMin.bufSize = 0x1000;
$ ^4 Y' Z! t# fSysMin.flushAtExit = false;- |2 d. a# v- F G. X& D% e
6 l8 g# h2 P0 g2 N- _var System = xdc.useModule('xdc.runtime.System');9 e7 X6 U8 y, J
System.SupportProxy = SysMin;
# {" q% ]2 N" v' \2 _0 a T
+ W0 h: g A4 L9 `8 { U/* configure SysBios to use the lower half of Timer 1 */
4 [3 A. D! E# g6 Vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');& P6 k Q& e. T$ c' u% @1 i
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
- H# K2 A3 K+ ~0 c4 Q$ G: B+ cTimer.timerSettings[1].master = true;' a0 N$ }) P: ~+ B
Timer.defaultHalf = Timer.Half_LOWER;' T' P6 E$ m# E( B* q6 m0 \7 }9 m
Clock.timerId = 1;1 A' P, }) S* w0 C+ y
_& Y& B1 }& A! F2 f6 Z# h4 Y0 O$ B# M! l
/** u* h4 Q# n3 E4 t) |
* ======== Miscellaneous Configuration ========! q) g- ?- `! L \: M) P4 k
*/
- N" v4 H4 Y5 X9 V
$ g. v! O1 x L: `' f/* set default diags mask */& i+ d% y& ~5 @3 G6 @7 s
var Diags = xdc.useModule('xdc.runtime.Diags');2 [% @4 q+ l( h6 Y
var Defaults = xdc.useModule('xdc.runtime.Defaults');7 q* _& q% j; L0 j5 v7 }
8 V$ ~9 r/ c( V9 m# g7 cDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* d( w% }: Q6 ADefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& _+ f! g% v+ {1 I& l7 fDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
5 a! C) p/ q; @! q/ [+ [' |Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
6 `$ @0 v2 f/ V% IDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
/ m% {7 i- F" H; n6 D* Y: V0 oDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;% o& ^7 Y, G2 e
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;8 ~; |0 h0 @4 K' a
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;2 i8 K b: c" W: L
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 D' I" L9 p3 EDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
" Y9 I* h! w0 MDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
: s9 g ^1 N* D: Z, nDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 U3 R; t4 E7 Q$ @+ ^% ^4 E# J. W0 }
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;( |4 b5 m' O/ g7 q P T
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# W0 F8 z8 G. ^' r$ g# x( g
+ ~- i5 D% L% n8 c9 I: L4 H6 m' ?/* override diags mask for selected modules */2 `) c. w# l; m) T
xdc.useModule('xdc.runtime.Main');4 Z, l7 l& {. K+ C8 P
Diags.setMaskMeta(
6 z& \3 l! o) s6 r- f. a1 Z5 o4 o7 n: \ "xdc.runtime.Main",
: o8 j+ m3 f8 N: @* p" q Diags.ENTRY | Diags.EXIT | Diags.INFO,& \1 G8 e7 ~: N" ]
Diags.RUNTIME_ON
4 f4 ^7 H# {! g* S);
. `4 T$ O% O$ M# @3 z( T+ l: X0 V6 w% y/ k/ [
var Registry = xdc.useModule('xdc.runtime.Registry');1 u* o8 W- I# C& c
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
* M9 z' i5 \# T" @3 cRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;* w' p- h& y- h1 p& e$ e
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
. \) E! t2 t2 A% \Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
( l0 R! D5 @" B* u' v4 v
1 w$ S# R( X3 I/ K8 a2 k/* create a logger instance */
8 S' ~- p4 H6 a+ c* evar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
4 Z5 C: _8 T$ {3 b2 v0 f1 l+ L% Lvar loggerBufP = new LoggerBuf.Params();6 o( k' R$ {- z8 L
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
4 h: P4 r, A2 A& i# c' }4 HloggerBufP.bufType = LoggerBuf.BufType_FIXED;2 B" e' Q8 `! C, ]/ r" Y
2 s& O& U9 _; }6 D/ ?7 {( Z7 r9 }var appLogger = LoggerBuf.create(loggerBufP);7 J$ H& Q* I% N& ^
appLogger.instance.name = "AppLog_Core1";
, f2 J% v" t1 y$ ^& D5 O4 oDefaults.common$.logger = appLogger;
. ?* I, y( I. o' MMemory.defaultHeapSize = 0x8192;
& f* D5 s. R, rIdle.idleFxns[0] = "&LEDStatus";
0 s7 Z l8 r0 Z3 l; v, \Cache.initSize.l2Size = Cache.L2Size_32K;9 m/ w. O: _& i& J5 f' b; A2 X
6 H) B. \5 d! O& P* A' f |
|