|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, h; D5 t u6 G. G
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' z( ^* F n/ J [" @6 U(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
8 T( F. s+ s( y1 h2 b5 I0 n% H4 w, F/ {; Q7 T9 b8 Y
是不是需要在DSP.CFG中进行配置
! |, c6 m% n' ^% |* [我现在的配置为7 i4 r6 P. M0 X* s: M
) j4 d1 a( w# o# P3 L4 p
/*
( ~! ?! Z9 ^% F * ======== Operating System Configuration ========: u7 H: H: n* I3 I4 i
*/
# w/ \) ?& E! K9 _: ^6 O6 d, X
/* no rts heap */
& B- e) L( l, b8 a0 zProgram.heap = 0;0 F9 V3 U: S& K5 L( l! g
Program.argSize = 100; /* minimum size */
4 C# F) W8 @( T% z1 i& kProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
; R" j( ^# n' _( t
3 X3 P3 P+ b" V- c/* create a default heap */
7 H; \* f( E6 T( b3 q. Jvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 q6 I, A. y$ i
var heapMemParams = new HeapMem.Params();& r1 q( t6 C2 ]! _. b6 V
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
8 \; P( s5 j5 J E# H7 U9 ~/ B' h
" m" C( r) R# L! }) Svar Memory = xdc.useModule('xdc.runtime.Memory');
$ |) Q7 A9 w: H5 X# ZMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
* t7 Q! l; ^- d, t2 m) c6 T
, k$ g/ ^4 ]1 c; v: a8 x/* configure System module */9 y4 y8 p: r8 D0 H6 X6 n( k
var SysMin = xdc.useModule('xdc.runtime.SysMin');
. a5 m4 K+ s% Y! ?5 O5 ASysMin.bufSize = 0x1000; U; l8 N/ B0 E+ \* G: S8 @
SysMin.flushAtExit = false;
$ Y! w" [. ^$ R% ^6 B2 ]& ]! ?, f# h9 d4 @" k# c3 w
var System = xdc.useModule('xdc.runtime.System');
: q3 A0 P2 r( o* A2 c( D$ A7 B7 iSystem.SupportProxy = SysMin;4 b- K# j0 R5 Q# V: E
# O3 `- w4 M- `2 ?* Y- B$ D
/* configure SysBios to use the lower half of Timer 1 */
, F5 A9 A9 ?$ c" I0 C) Y* q/ dvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
, W1 ^( ^+ f( [0 Q5 V& @6 X# G! b J uvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
# J" ~" D9 S- n' ^2 sTimer.timerSettings[1].master = true;
$ W. _2 g% F( M! J" m% WTimer.defaultHalf = Timer.Half_LOWER;
5 g- e: i- R- U% T0 g, P- xClock.timerId = 1;
0 Z6 U9 `' Z: e' g2 E' D" M, z" {) p3 U; `- |; A
' ~0 N+ p' [0 e" a. i
/*
9 F$ U3 [- m6 @' p, r" z * ======== Miscellaneous Configuration ========
0 d. \6 y- u. x9 U! y/ V. @2 \) I, B */, o e# ~, U0 o/ O4 \7 `7 P
" t6 A5 s9 _$ @+ |0 N. t2 N
/* set default diags mask */. d- ?5 H5 c* H6 n- k- M
var Diags = xdc.useModule('xdc.runtime.Diags');
0 D7 I1 P9 y) r# X7 v: kvar Defaults = xdc.useModule('xdc.runtime.Defaults');
+ ^- ?% |& Z2 ^2 d8 p ~7 H& r/ ?' ~' y i0 x _
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
' D; I, K k' i1 h3 kDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& ]3 x2 ]8 c7 u5 \3 O8 L5 [4 U( ^Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; u) L" l! Y' RDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */( D3 O$ @; a; O% K
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */. x2 K) C8 {) x8 A' A3 X) w7 g
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;6 {% L5 E5 Y1 F$ n( D) M
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 x4 j0 Q9 [ e2 M3 Q7 Z! oDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
7 X! {1 r6 j! N: P Q. jDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;: W9 d( E3 M9 k$ B
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
`9 ?0 y7 H3 A! lDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 ?' x/ c w' r+ x6 P* L1 ZDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
. d7 \# `0 k9 e) I- u+ rDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;- c: t) O, a2 g; t* b% y B/ U+ L
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;0 m7 K/ ^: `1 p! m; [- g7 t) f
. }7 P' |) n3 h: ?& u
/* override diags mask for selected modules */
c+ l9 D& r& E# _xdc.useModule('xdc.runtime.Main');
3 |* ^; Z2 \) [0 }Diags.setMaskMeta(
' T! X: a# w+ @# \( ? "xdc.runtime.Main",% B2 u. ?: ?5 U& j1 b
Diags.ENTRY | Diags.EXIT | Diags.INFO,9 n' l# y6 G6 P9 r1 T
Diags.RUNTIME_ON
0 z3 y$ m; h7 [. O: n+ F);! D: k, S- D8 W0 {
. E0 p8 D1 i$ w! {3 I" u
var Registry = xdc.useModule('xdc.runtime.Registry');
4 O8 ^ M. @" C) b/ m2 Y Q9 oRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
G$ y* p& D% w0 x/ u0 PRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
9 X8 V) L& N$ ]5 Q, G- N' [Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
5 c0 M# e' j7 {# aRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;& S" ?& z* w& P# W* u, s4 _
$ {5 C' r$ G5 o; M* P5 Q3 l- a4 N/* create a logger instance */0 V4 n3 N7 c# c) n# p& ^
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 ?: t: [7 K% j# i: p
var loggerBufP = new LoggerBuf.Params();
- h- m# S5 w. f0 m4 s- `loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! I, ~1 l& {) G0 R
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
9 H0 b: P$ E8 I7 k% c/ _, V3 D9 v1 j" [9 L) |7 C9 g& \
var appLogger = LoggerBuf.create(loggerBufP);
0 e3 Y/ \( `4 Z3 HappLogger.instance.name = "AppLog_Core1";
# E! D* t) o: Q$ TDefaults.common$.logger = appLogger; v" W/ r6 X0 b7 S4 M
Memory.defaultHeapSize = 0x8192; & g8 q7 Z! q8 }7 a: J# x
Idle.idleFxns[0] = "&LEDStatus";
1 M" ?& {# w& b+ ?Cache.initSize.l2Size = Cache.L2Size_32K;; y) r, p! R& N6 R" g+ o
* q2 X+ G( t1 o( o |
|