|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
0 m# ~6 ]7 _' G我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下, e3 K! I5 w7 F( V1 \
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)1 g& P/ ^+ s/ ^" X0 j
$ Z6 r4 m% _# C, F5 N! k是不是需要在DSP.CFG中进行配置' V; {1 ?9 k6 B' e3 t1 J3 S& s
我现在的配置为: a% D$ u3 D) x3 m
4 x- U6 Q1 o, e& H& ?8 R ]/*% y, J& |6 O& Q1 [: q; K
* ======== Operating System Configuration ========
1 z) B, k6 G* G# A1 X; E- L */- y; S& F$ U" k; j0 Y p
/ R( l2 D. {6 @/* no rts heap */
8 r" n0 j3 \1 MProgram.heap = 0;
- t7 D d) N. t7 S: s1 [0 ?Program.argSize = 100; /* minimum size */
, t' f- g; y1 u" o! n$ ]# aProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
! z3 X; Y: I* j+ v/ G, a1 J' d
) I8 B- u, C' f! e ?2 ^' b7 l/* create a default heap */9 C% Q+ r1 j+ m; R" ?( h0 ]$ j
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( Q) E9 |4 z3 z+ ivar heapMemParams = new HeapMem.Params();
4 i& {/ c. D$ dheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
" ~$ [' c* K! m7 M4 \4 z# y
$ L( m6 N2 l$ D" P$ W& n- L7 Xvar Memory = xdc.useModule('xdc.runtime.Memory');
. l" t( L, \& ]* C, b! }3 b XMemory.defaultHeapInstance = HeapMem.create(heapMemParams);* [9 j9 A& c4 T C# i2 ?% f
3 o, |& p9 a; o# ~8 \
/* configure System module */
+ R" f3 S/ j# H3 j0 ]3 s2 o' b2 E8 Zvar SysMin = xdc.useModule('xdc.runtime.SysMin');! X5 h+ {3 [+ Z! \& ?0 T3 t
SysMin.bufSize = 0x1000;
9 x+ a4 Y. n" B5 m- n0 J( O/ N9 h$ VSysMin.flushAtExit = false; l7 n* Z0 ]4 ^7 r4 ?- I# b& I
" i6 z$ E; q5 w9 m* }* U/ J' H/ m/ H
var System = xdc.useModule('xdc.runtime.System');6 ?3 K5 N7 N# i, T( f4 S& T
System.SupportProxy = SysMin;
: q6 n" _2 w/ {# H# W$ a' }6 |, O8 R% z8 W
/* configure SysBios to use the lower half of Timer 1 */
# m' S# G. p! c( ~, Bvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');0 ]0 }5 J& H; h8 |
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
! C7 n2 _. R, Y. Y+ s' VTimer.timerSettings[1].master = true;& j: N2 t( q9 t! }% n m
Timer.defaultHalf = Timer.Half_LOWER;; d! y' p5 v" J2 f$ m4 ^. g
Clock.timerId = 1;
5 F- T1 i' {* Y/ Z8 T
1 O" T. j/ p9 K' E/ B$ ?4 l. o' Z# l" T+ H1 t& i
/*8 B0 e- u, i( n2 b! W$ j
* ======== Miscellaneous Configuration ========- L3 t: F, q% C% S5 t3 C
*/% K5 ]; X D0 e9 L+ u$ g3 M
. x: g9 R! W# ?& ^8 I& e; c
/* set default diags mask */
' U: z. X! H% d4 m% c( {var Diags = xdc.useModule('xdc.runtime.Diags');
" z% R2 _! E6 f4 J# ]var Defaults = xdc.useModule('xdc.runtime.Defaults');
$ v5 H& O6 \! N: R# x
- F% X/ u7 |) d, y% @0 C3 MDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;& c$ m7 X# V" f
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
9 _ C: A* U5 z3 W8 S. wDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; h# a2 F) L. |1 ]# x4 lDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */6 P: `! e2 H4 a* J- ?5 s! q
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
( k# B/ @- \# |* P6 }Defaults.common$.diags_STATUS = Diags.RUNTIME_ON; ~1 V$ ~0 |5 m7 z+ X8 Z
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;# i7 G& Q% N+ O
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
- W3 M' b, d5 B/ o& wDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF; x4 }! }9 [' P$ R; U
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF; r5 p. ]0 s( A; G ?( _7 h- o
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;4 P: K5 t6 }: i: Z6 l/ J
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
7 D. ]7 m2 D1 o( kDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;* \# }+ H0 j. a' K
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" q1 D% F5 w0 J7 t
! y' a* Z' \+ R8 G/* override diags mask for selected modules */
. g1 i$ x! ~2 G9 b; N, o* W! Rxdc.useModule('xdc.runtime.Main');; P ]7 p$ Q0 @2 Q. t
Diags.setMaskMeta(
, s3 p) E& w+ K, }) j$ f& _7 N6 g "xdc.runtime.Main",
0 i$ B, `1 S4 r3 ?. c6 R Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 H( y/ _9 z; e2 Z2 x Diags.RUNTIME_ON, r# T* c0 F, q* B: B9 i7 R5 J% ~1 u
);
6 }+ I( F- N, V6 }% y: t
: d6 J; y% o& o3 ` uvar Registry = xdc.useModule('xdc.runtime.Registry');' E9 E$ i {/ V4 p$ X
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
3 D$ `" A4 b3 Y/ [/ X( X/ ^Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;( o+ ~2 H- S' Z, p6 n
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
( c( l o5 i8 I1 ?Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
& x: q' R/ q5 {" H j( C. c1 v; I0 o( \! `3 d, t" n
/* create a logger instance */2 C7 `' B5 B) d, w" v5 ^. a
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
: t$ y" s( y9 X4 N$ r, lvar loggerBufP = new LoggerBuf.Params();% B% F8 |* h, x1 a% _, b$ R& j( [
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */4 @; Q$ t6 ^6 g- D
loggerBufP.bufType = LoggerBuf.BufType_FIXED;0 ], r' R3 \/ K" G( }
% S `" @; W- a+ P4 Jvar appLogger = LoggerBuf.create(loggerBufP);6 ]* W" A$ p) X) P' E r
appLogger.instance.name = "AppLog_Core1";+ S; y& L: A. U! d
Defaults.common$.logger = appLogger;- @3 ~) D2 ]8 k$ p4 a' r9 a
Memory.defaultHeapSize = 0x8192;
( t$ K9 ?1 g/ v0 sIdle.idleFxns[0] = "&LEDStatus";
& G/ u9 A! c. l4 z# FCache.initSize.l2Size = Cache.L2Size_32K;) ?# c. r6 U3 m7 z* a4 [9 }
: X4 {( l; H) j# g& O |
|