|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明/ m3 M0 a1 Y% L; R! Q
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下4 W$ H0 T; f5 y! z
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
. v' P @- \3 h: K& t* }4 d$ U: I) p
是不是需要在DSP.CFG中进行配置1 j$ \; m4 d1 f
我现在的配置为
5 e) a1 a- ~$ s& n2 ^8 M6 _3 i7 _# H; ~; ~, _' R
/*9 t1 a5 t) ~1 E, W, Y" U
* ======== Operating System Configuration ========% h7 C+ ^6 W& h. @& c# C$ u
*/
7 ]( K3 w+ ]6 ` W6 F9 ]! |0 ], f9 e c) D$ J' F: z$ V; K
/* no rts heap */, w; K- e9 X4 \7 g7 |+ |
Program.heap = 0;
^/ k; s6 s1 M% \Program.argSize = 100; /* minimum size */
$ q% J% {' M S2 D+ p: ]Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
4 s; M W; M9 d0 M9 S7 a& j' @- W9 l0 W$ y
/* create a default heap */
: O" X; q0 l7 ?. P+ k6 ]% {2 q% @var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');6 ~% x* e% `7 t2 [4 n
var heapMemParams = new HeapMem.Params();
6 Y5 Y) F! i+ d* nheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
+ r- ?8 s8 M6 H0 R8 r( a5 \8 A8 g( `8 u0 R' u
var Memory = xdc.useModule('xdc.runtime.Memory');3 @2 q$ O0 h0 A3 O7 C! t
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);. ~ t7 T6 T n, f2 _+ v
7 P. j0 ~; z4 E/* configure System module */3 L/ R- |+ B% i8 Y" d/ U( c
var SysMin = xdc.useModule('xdc.runtime.SysMin');
9 G- h. J0 g _ g, w @% y8 _SysMin.bufSize = 0x1000;+ M( ^* B5 C# U6 N
SysMin.flushAtExit = false;
0 J) A, W+ }3 V# T: Y% ?+ ~/ H* K2 c* g
var System = xdc.useModule('xdc.runtime.System');
& O. l* p/ i# u( vSystem.SupportProxy = SysMin;
9 _5 B: `1 @$ @4 C* s/ K, w# @3 Q& v; ]# j
/* configure SysBios to use the lower half of Timer 1 */. s2 h9 J. P# j
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
1 c+ P' L; K7 G( Q1 c, Lvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
" X9 Y0 o; ?$ E( a' g! Q0 STimer.timerSettings[1].master = true;$ t. C; X6 K& L
Timer.defaultHalf = Timer.Half_LOWER;5 @5 r# F) ~' T5 r; c# [
Clock.timerId = 1;9 \) a) P+ _& Y, V) j3 u# w
) F% e8 E& M. S( g. P: j u
! u! s/ a- e( f% J, P9 B# x5 h& O/*
; r: f9 u2 \* Z3 k+ X# ?. D/ h * ======== Miscellaneous Configuration ========# ^. \: T, y( v5 D/ |; o
*/6 R3 V9 r7 c1 P, G5 n' G
6 H( x j( k- f" ^) D, v
/* set default diags mask */4 R" U4 m* n: @9 r8 o6 r
var Diags = xdc.useModule('xdc.runtime.Diags');
% ~- w5 ?& V( p4 k8 \5 Cvar Defaults = xdc.useModule('xdc.runtime.Defaults');7 e, N8 U7 F# v. a
8 D/ g% R: P5 b; e- P0 Y. P) m- r
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF; I! i8 x5 A' J O
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;; O. r+ J6 @3 @. i- @2 D( O$ l
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;0 `* L8 H# x6 h' P9 a q* f
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! k# s' h4 U" V) ~$ \. QDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */6 i R2 F$ s& F( T
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
, x# e0 D, g3 z* u! I0 d- SDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 m# d4 C$ Z0 B0 E
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;$ B. @5 j+ k! f' T
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
. k& @# v4 ]. v( DDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
3 R! L# {2 E8 D3 g: g- q% LDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
6 `0 p1 w9 s) T# t0 qDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
X& \5 v1 d& w# ]* F( qDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
# Z/ ^4 W8 H9 h4 {Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 L! o9 E) X* m! k9 \$ F* r, m- d f6 J& ?" S; ?
/* override diags mask for selected modules */
( X: ?, s: O: |# M* V5 Yxdc.useModule('xdc.runtime.Main');
, R$ @) u; z' f* m3 p6 H5 Q$ ^Diags.setMaskMeta(
. L; ]1 r1 A- f2 U& _8 f "xdc.runtime.Main",
; J V. ]$ h# g+ o Diags.ENTRY | Diags.EXIT | Diags.INFO,) Y8 I, s, q2 w
Diags.RUNTIME_ON# `+ m/ w1 f4 D" I- W4 ~4 ?
);
' f* Y( P$ D. [( n6 }: ^: c2 f4 ]) m5 e5 A
var Registry = xdc.useModule('xdc.runtime.Registry');
3 _2 @ Y, h- t' |' Y8 VRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;; e' f) U; i/ y$ S: v) ~
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;1 h' s% u5 K3 Q- ]) ?7 C, n p
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;8 W9 V/ @0 V' c# e4 X; ^
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
, ` c. p0 S2 O& c4 v9 @/ k& [ I
g8 \3 K7 w7 N/ K) N/* create a logger instance */4 H% a4 F% R% M5 A
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) o# p [5 e/ [var loggerBufP = new LoggerBuf.Params();( h3 T: |7 }. Q2 y9 n
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */$ E+ C3 P. ^- i5 C2 `, }- i6 R
loggerBufP.bufType = LoggerBuf.BufType_FIXED;# r0 z8 `) k- R5 V
/ [# `; ?4 |0 [$ I4 x, Svar appLogger = LoggerBuf.create(loggerBufP);: i" a3 u; y2 ~& g0 [2 A9 L
appLogger.instance.name = "AppLog_Core1";2 v# {5 n; ^) q
Defaults.common$.logger = appLogger;9 @7 ], f5 o5 N6 A9 p
Memory.defaultHeapSize = 0x8192;
7 c2 K- A/ G; E) Z3 lIdle.idleFxns[0] = "&LEDStatus";
Z! R" @+ o+ T) ^- yCache.initSize.l2Size = Cache.L2Size_32K;& D. l1 F. N: [7 \: Y
& @1 u& c$ d+ k% s |
|