|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 C8 w( I/ D3 W
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
$ }! j8 y9 a L$ j3 k(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 g9 R( ?- d6 }1 s! L1 I/ c2 K0 p5 M9 }: P9 T1 A$ V
是不是需要在DSP.CFG中进行配置
) c: \4 s7 M3 i! C# h+ i2 |我现在的配置为
# L4 R$ s' k/ c, `3 l9 W& C! ]$ f1 j5 P9 ~5 I% T
/*+ l) B8 y* d/ W8 ~7 b
* ======== Operating System Configuration ========
# v4 [7 h* ^- |# M5 w' o */
' |' Y! L' x3 | ]8 B
8 b$ V X3 b8 u, j7 Q$ [; J6 m/* no rts heap */1 { n' V# G( X ^; D
Program.heap = 0;
; E0 t; N6 ~% ?0 J6 S% K6 O. ~, |Program.argSize = 100; /* minimum size */) S: W# v. }% X
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
0 Z* k7 t% {7 x/ r% i- u* W" N% P, z* i+ {' q
/* create a default heap */
|% `1 ], J& B1 \var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
- _! L0 N6 R9 [' v+ P! w& evar heapMemParams = new HeapMem.Params();: }. j# ` s3 q, s/ W/ o; ^, N6 A
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
8 i3 G' H, @* l. U3 m" Z2 q
7 G- W, S. j; q7 _3 K. u8 [7 F! dvar Memory = xdc.useModule('xdc.runtime.Memory');3 E0 z) p5 y* X; H1 h% B( k0 o& Y
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);5 e: e5 p0 l8 q4 j8 `- K
0 d5 B. [- @5 S0 S+ c; M# z/* configure System module */- F( _( }" Y3 e Z3 @2 L% C
var SysMin = xdc.useModule('xdc.runtime.SysMin');
; u( s2 y7 j- ~( m DSysMin.bufSize = 0x1000;, w. l) @- O9 X. z2 o# Y0 X
SysMin.flushAtExit = false;
7 k w, q0 j% o8 D! k( q* C, g3 O; a' e3 `( A9 e2 P4 U8 k
var System = xdc.useModule('xdc.runtime.System');
7 @9 m+ I; m- a8 m$ s% q6 J& F7 USystem.SupportProxy = SysMin;
' V$ C4 a6 b0 U0 j, Z& d, p2 X1 R2 S3 ^
/* configure SysBios to use the lower half of Timer 1 */8 k$ L6 O7 l4 t) ~/ b3 g N/ @
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 N7 c3 W; q% S6 l" |4 c- }var Clock = xdc.useModule('ti.sysbios.knl.Clock');
9 Z _9 R9 P% }Timer.timerSettings[1].master = true;
5 [& N8 q, B* q9 o) STimer.defaultHalf = Timer.Half_LOWER;
( q0 b1 E) i5 _" ~Clock.timerId = 1;$ G4 ^" [5 p! B" N0 y+ y
1 Z9 f& z) P8 f+ A' ~4 E: y1 O2 T4 i4 \2 h
/*7 E+ ^- n: p ^# w3 ]% p# L1 U
* ======== Miscellaneous Configuration ========4 m: V$ Z5 A/ G2 I9 J+ l
*/* s8 X$ A' K1 u. Z. G4 e1 U
$ q$ e! D ^$ ~3 Z5 `" X5 t, C
/* set default diags mask */
# {& U, ]9 O% H) P; Tvar Diags = xdc.useModule('xdc.runtime.Diags');3 _9 ^% h# ~( e4 K2 y* W' {
var Defaults = xdc.useModule('xdc.runtime.Defaults');
' v( K$ H: c$ T! a; I
1 j1 E/ B/ p! d2 I" D; n- `6 aDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;2 r, q8 E$ r) A* Z; d6 q% ~0 Q
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;2 ^2 u& y6 e) b
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
0 n( M9 D* Y! @) F" h5 q% ^Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 p! N% |2 ]/ L" m2 y9 I% MDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */. U; n, [2 N( D' N0 f- T' H# G
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 t8 g) e2 o; d) Z
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 G6 K: B- }" K- MDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
$ r" e8 V ?: |7 F% q; \# s5 l0 \Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF; a* `. A5 g- x5 f
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: J+ J* {4 {# zDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
( S+ J2 f" A0 Y! ^& @( wDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;, {/ Q' ~- o9 I
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;9 Y/ E) ?% k8 I) D
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" E0 d! J5 n, c, y& N- v
% M1 A0 Z6 v. j5 J/* override diags mask for selected modules */
5 m/ g( j% ^9 ^xdc.useModule('xdc.runtime.Main');
! }" q8 B- O5 ^; b3 jDiags.setMaskMeta(% @. G# A$ K6 c: @3 t
"xdc.runtime.Main",
( ?$ O& W( b/ x Diags.ENTRY | Diags.EXIT | Diags.INFO,
" m1 u& J2 @) @+ O: ]9 P$ R Diags.RUNTIME_ON
0 T+ C# }3 ^+ [9 @4 J0 r. V);7 ^$ W) X% g. F' N3 ~
" Q0 _# | t* _; V b
var Registry = xdc.useModule('xdc.runtime.Registry');
( ~; n0 }+ Q% ?7 oRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;, h& c @4 W V3 c; ~$ D3 m( |- @
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;; r9 _; A$ ?* O( O2 o
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;9 f6 O* u; {2 \5 I4 R5 z/ e
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. ^1 M8 }) n) f5 Y7 k7 i" F0 Q: s6 i5 d; V4 f+ S; P- R w
/* create a logger instance */
# R& @* Q! k8 evar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
+ L( Q3 l& g6 @" j/ e( {var loggerBufP = new LoggerBuf.Params();) d1 p S2 U4 r5 p
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
" j. f( v o' ?; I( T+ j. O3 AloggerBufP.bufType = LoggerBuf.BufType_FIXED;
6 x0 T: y& b: w5 b X. K' q
) b: F- H r% @+ G) Q( u% kvar appLogger = LoggerBuf.create(loggerBufP);/ v/ d; R P9 l7 U; H. |" h, u
appLogger.instance.name = "AppLog_Core1";
7 f$ V3 J0 T, ZDefaults.common$.logger = appLogger;
8 R7 \, N C+ O0 [0 [' `Memory.defaultHeapSize = 0x8192;
1 p% S5 m3 l9 ^) m4 {! yIdle.idleFxns[0] = "&LEDStatus";5 i! v& V. @/ R4 ]- @
Cache.initSize.l2Size = Cache.L2Size_32K;
6 s, [0 S% `1 h$ S' J% N2 l: N! a9 ^; r) c8 H7 p, R
|
|