|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
2 k7 b( R1 u4 R/ ]我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
9 c. I9 }3 W+ `(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
3 v( _% A7 r7 I6 N9 K) R$ ?
3 `% Y; t$ ?! D. Q是不是需要在DSP.CFG中进行配置! @* v6 P6 j$ y+ A: z
我现在的配置为
1 K/ E' C# w R5 j4 N A! }2 P
/*6 ?; Q; @1 v$ @7 U
* ======== Operating System Configuration ========
9 r8 R1 Z- E& c% r$ o0 `5 t */
A: L, [; T2 j* k9 U1 v: _) g& Y; X7 S3 v" e2 `
/* no rts heap */: v9 e1 }3 c1 s( k5 S
Program.heap = 0;- x, ~. y4 a# t
Program.argSize = 100; /* minimum size */
2 H6 i& i5 z" c" z; L! ZProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大( _. ~3 O2 M+ [' z9 P
2 T2 C( H! V: h3 m4 X
/* create a default heap */
% a7 ?0 G0 R- m0 P' ]) C! T T zvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
- @: \1 b/ c+ q, b" L- U3 R' _var heapMemParams = new HeapMem.Params();# N" ?8 O/ w+ J9 _7 y
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大8 ~* ~& }. P7 B9 U' D$ T" ]7 Y
% E, p( M; s: Z' `% @$ ]0 D" @
var Memory = xdc.useModule('xdc.runtime.Memory');
7 D, _# q6 y; Z7 v4 dMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
) Q6 G7 j" h# h; s; r( }9 }, T8 `3 v1 ?& [5 {; Y6 q
/* configure System module */0 w* \" U6 C, U
var SysMin = xdc.useModule('xdc.runtime.SysMin');
, S% k' c0 j( `6 L; ?SysMin.bufSize = 0x1000;' [" T9 L( p. p6 w' ?; C3 e1 j; B
SysMin.flushAtExit = false;
c9 [: U+ k/ g$ w5 m. b8 M- J# Z
# h: o7 f9 y) P+ lvar System = xdc.useModule('xdc.runtime.System');& ?- o4 V- ]2 B7 K! @! O; B
System.SupportProxy = SysMin;
9 W9 y' e/ D( K- V9 E- I! _0 T5 f# x" _; m" t+ r/ i! O
/* configure SysBios to use the lower half of Timer 1 */! m, F2 Y1 U/ Z5 L9 w. I1 b
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( O& Y6 w" _& B* h7 w4 h# |var Clock = xdc.useModule('ti.sysbios.knl.Clock');6 N% W6 e4 ]. j& M- m
Timer.timerSettings[1].master = true;
! R/ H7 ]/ p* z" y) B! |6 a UTimer.defaultHalf = Timer.Half_LOWER;
- J2 `! u* G( N Z2 OClock.timerId = 1;; J0 z0 z6 }1 l; C5 w
* V X- \7 R& m+ P" \/ A+ o/ @: B
/ A1 i% a; w6 g5 T$ z6 \) m# b7 H
/*
+ c) p1 L% Q' i8 U6 B" n * ======== Miscellaneous Configuration ========3 c3 R3 C# d' T8 C% A0 S
*/
5 r1 E- f8 b4 p( Z) Q7 T& T9 g
+ l" K5 a5 s5 r- ~9 o/* set default diags mask */2 g- N4 B/ E) B5 U5 {6 ?
var Diags = xdc.useModule('xdc.runtime.Diags');
+ [; P' r" S4 j0 s$ A0 g1 A5 Tvar Defaults = xdc.useModule('xdc.runtime.Defaults');! f2 [: q8 D% a# H/ u
" j. H, ?' P( F& QDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 x+ V( m |! f6 f& |' U6 uDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;6 \# A/ c% d$ U3 x6 O. k8 ^
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;! ?0 w ?. Q1 H3 K
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */) B; B/ l* h! J9 d
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */3 H8 e$ O7 L( v6 R6 p8 K
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
& q9 C" e# h. \6 m; l/ iDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 n- F" u$ g% e
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;: Z9 }9 t' }+ U: k/ Z
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 I. O) o6 S2 e: [( Q( R# {: jDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;8 Z/ I" d, h1 q
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;: t7 J2 B6 B7 U4 }0 T7 X
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF; e* \& u0 s" o% G
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;' G5 U0 D3 x0 t7 f% `3 L8 C
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
/ B' \' Q& P2 E0 z
0 e" Y8 P8 w5 I9 ]/ s7 V/* override diags mask for selected modules */
3 [% O; I" c, Z8 [2 ~+ e3 y; ^/ ?xdc.useModule('xdc.runtime.Main');: r& e, d9 L' n8 ^6 W
Diags.setMaskMeta(: N5 m8 T6 p0 C! v
"xdc.runtime.Main",, F$ K \* {: e& p3 d
Diags.ENTRY | Diags.EXIT | Diags.INFO,
; g* v2 T0 @' S8 [ q4 ~ Diags.RUNTIME_ON
( `& p; k, c7 R2 k( a1 o);
- {) J, \/ o$ P; r6 P
4 m1 [% {6 J6 H' m. U( G9 A+ `var Registry = xdc.useModule('xdc.runtime.Registry');. A0 o1 C0 X* e+ k K
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
" F3 P5 m/ Q$ Z- Z( u- Y) Y( oRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;; I$ A y# U3 \5 x$ B; E) e( }
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;) k- V5 j! b' V* k5 q+ P6 z1 U
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;# i: [, j# g1 Y# ?& P
: I' ]* s) ?! L) u! G
/* create a logger instance */
9 a n: U0 [0 D) V) E( {& w9 F' Nvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
1 R% m k, I8 M& |/ U: a4 I4 nvar loggerBufP = new LoggerBuf.Params();
6 [% s* P; w* }7 ~loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! O2 T. [: Q8 m8 H( O1 A
loggerBufP.bufType = LoggerBuf.BufType_FIXED;5 y. H5 K! j4 i1 V- z% |
; R8 f3 ]. Z, p3 H2 Yvar appLogger = LoggerBuf.create(loggerBufP);( s6 A, c: c* S/ A2 f9 H: W
appLogger.instance.name = "AppLog_Core1";
" T: C5 M/ G1 F9 g. L- JDefaults.common$.logger = appLogger;5 \( e/ ]( ?) t" [
Memory.defaultHeapSize = 0x8192; 5 U7 q6 z6 k) Q3 u' @6 N1 ~
Idle.idleFxns[0] = "&LEDStatus";
3 `( I4 r; R, n+ R* L/ XCache.initSize.l2Size = Cache.L2Size_32K;
) M$ o9 [ {# _' r# ]" J! U( P/ C: \, b2 r
|
|