|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, w0 {5 T/ J, v* q/ [
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下" i) ~ z& I" w& c6 z. y; m6 M
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)* y3 o5 z6 p5 W3 Z. c
' R$ o8 J9 d9 z- S0 [是不是需要在DSP.CFG中进行配置
" u, `6 Q- ~& W我现在的配置为: D8 l5 [ f7 U( v
$ n- l% [$ R1 U) ^/*
) Y7 M. q, t3 j9 E- G2 f2 a * ======== Operating System Configuration ========
7 h% L" C# F2 p' ?2 g, C */
* P) R: ^+ o+ I' Y8 s$ S, X& ~! E. @$ q
/* no rts heap */1 t! U+ i; L' A$ z; ?& w
Program.heap = 0;
8 o/ q4 ]" t9 \6 [1 aProgram.argSize = 100; /* minimum size */% D8 ^* |' h: V( p4 j1 r
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大( }" |& u3 V* T
7 F4 b& n0 B( i/* create a default heap */
+ u7 w: [+ t/ _) d9 h# U2 C* evar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');: o: ^8 L7 u* r" r! t* ?
var heapMemParams = new HeapMem.Params();
7 j2 S, i' O( W& BheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
: k; Q' o& U1 W9 Z0 ^1 v: i& ~, h5 A1 K1 N: b
var Memory = xdc.useModule('xdc.runtime.Memory');
2 ^8 V& c! k5 T7 m, PMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
& X Z" r8 [0 Z
; Q; F) ?6 @+ O( Q. y2 h, }3 n; j/* configure System module */
& f+ [) S! p5 E& I. y/ qvar SysMin = xdc.useModule('xdc.runtime.SysMin');
( @$ C2 G4 Y( F: eSysMin.bufSize = 0x1000;9 C Q# i2 l( X2 Q: i
SysMin.flushAtExit = false;' E# M4 Y* g+ t8 h
7 v3 S& i: O' E* h( Qvar System = xdc.useModule('xdc.runtime.System');
6 V0 x' _* ^. T) ESystem.SupportProxy = SysMin;! z' u8 k- U# X6 W
2 \$ N; D- _# f
/* configure SysBios to use the lower half of Timer 1 */
; i6 M" U* B. Avar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');8 m6 L7 x; y1 ]
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
E6 M2 z3 ]6 ?8 KTimer.timerSettings[1].master = true;
& i4 C; l3 D" \1 Z. lTimer.defaultHalf = Timer.Half_LOWER; H0 a R" H- m- F: W' n/ ?
Clock.timerId = 1;
1 O Z# C# b/ j( M6 G. }& `5 S8 H6 P) w
q, y9 Q X+ ]& P( V
/*0 ~; m( ]/ Q. ^2 Z( Y4 Q
* ======== Miscellaneous Configuration ========7 @+ E. ~0 w5 V+ W
*/* B; w! {) I( e9 R
3 {6 g/ ?0 ~( f3 M7 }& C/* set default diags mask */+ o( |. p# Z/ j, \$ K; N, r
var Diags = xdc.useModule('xdc.runtime.Diags');
$ n; X$ u2 e$ r3 Tvar Defaults = xdc.useModule('xdc.runtime.Defaults');2 Z5 i C& |0 {' x
, v/ J+ `/ i- M! J$ _: i, B
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF; G& G" C( ]& u
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;0 a3 s4 P. T3 r& D* S$ m2 J" s& S
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
) ?/ m C9 ?/ H' s* N2 A0 `0 V$ rDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* B* u9 G" p5 t g
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ i) G( r- _9 H) Z: V+ D2 H
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
7 e& I, A# }" `% I: ], m" K6 JDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) c. }" R9 [6 P4 J; Q: @
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;; j; f3 t& X4 r: n3 _3 |4 k
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;/ `3 K! I+ k: [; r! J& u
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
5 g) m- t: L' \5 [Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;3 E& U" P4 V* H' c/ S1 n) c
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
0 }' F# L# a% f, oDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
Y" K R9 S. W' i/ ^; h# qDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
7 Z1 w' n: V4 i6 B# y' ~+ P# }8 y. n! Y1 |* o* n1 q0 i
/* override diags mask for selected modules */9 c1 b6 q \- |; \ Z2 o F
xdc.useModule('xdc.runtime.Main');! j" W7 h1 k$ K; T
Diags.setMaskMeta(
# `" A9 g7 O! @6 M* L "xdc.runtime.Main",6 s& }" _4 u0 o8 q$ C1 ]( N x
Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 D4 m& ~8 n$ V8 Y3 g Diags.RUNTIME_ON3 \% w4 C. B/ d* L
);- C+ e( B0 g4 o; ~
! z: ^+ _$ R" c1 U
var Registry = xdc.useModule('xdc.runtime.Registry');3 S) N3 ^( w0 X! `* w
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;5 b4 D7 s- ~2 N: I8 X( J' g
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;* C i6 ^# f3 q9 m' t
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
* n C( L& g! c9 [Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
$ O0 T: J q. U* }+ D; | P6 A# v z2 J& s( S: B9 k( u, t9 \
/* create a logger instance */ G' D i5 M% q
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ Z- `0 N0 D; o9 ?6 yvar loggerBufP = new LoggerBuf.Params();9 K( u; p# _$ z8 [6 R
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
$ F" z" q+ a2 c5 ?0 S0 x: j' w9 TloggerBufP.bufType = LoggerBuf.BufType_FIXED;' ~3 E- H! \8 _1 p$ C5 m5 |
; e5 [5 X/ `' e& j6 {; rvar appLogger = LoggerBuf.create(loggerBufP);% A) }2 x3 g, o
appLogger.instance.name = "AppLog_Core1";* z* E) @9 h, L: b9 B, b" i
Defaults.common$.logger = appLogger;5 Q4 f6 p. a* C
Memory.defaultHeapSize = 0x8192; ! a6 B4 w! s% s/ Q
Idle.idleFxns[0] = "&LEDStatus";
( E; W8 G8 B2 yCache.initSize.l2Size = Cache.L2Size_32K;5 V/ N, X- U& X; F6 b- |: X
( c: o" r3 b+ |; i
|
|