|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明6 x R% b' S0 c) N& Y- ~
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下( m' }& k& v. j1 e! p/ U
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
6 `# v9 J1 i1 k) j, D+ V b3 u
d3 A. R( x$ C/ s3 }* e/ E是不是需要在DSP.CFG中进行配置: x' h. |! T1 v- t* |
我现在的配置为. C" P" a1 v7 O' B' p
5 R' p; b2 \' z5 B$ b8 N
/*% V \" l2 S" u
* ======== Operating System Configuration ========/ ~! q- l2 _* f
*/ m( n; |$ G& ]# f/ J# L. S
7 M$ R: u1 C. O( J5 F2 F4 U/* no rts heap */
' _) e a. n2 o4 v+ I; CProgram.heap = 0;- M! V* ]1 c; y' i6 h- n
Program.argSize = 100; /* minimum size */
. b2 w# @3 j) P- T+ {" fProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大( V1 H) B+ ~" U) F2 L( }% y+ i
6 H2 C! `+ S- y, h0 g" o+ T0 T/* create a default heap */
( |8 h7 g6 h4 Mvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
* R& v4 R8 I* z. S; ?/ E5 ~var heapMemParams = new HeapMem.Params();; e- D) L9 U& j2 u1 k5 Z5 ~8 z
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大: ?% | y: e1 t; \. G5 g7 J
) n% _0 b3 |/ S- D
var Memory = xdc.useModule('xdc.runtime.Memory');
0 H$ c) Y8 K8 y$ gMemory.defaultHeapInstance = HeapMem.create(heapMemParams);: `* K$ L2 X# Z
* ] ^ S7 P4 I' s* \/* configure System module *// x- ?# X) ~6 y! t( t3 d5 u" L
var SysMin = xdc.useModule('xdc.runtime.SysMin');
8 l! m0 L8 v; _! Q6 x8 i( W0 qSysMin.bufSize = 0x1000;4 c- q% {% {8 V7 B* b
SysMin.flushAtExit = false;1 b; i( W* a9 N8 @
/ o; f* ~; l% Z- M
var System = xdc.useModule('xdc.runtime.System');4 T+ x C$ q; ~3 k
System.SupportProxy = SysMin;
( h% W2 Y/ G, a6 |7 Q- r: `2 G1 ~& G1 l2 R
/* configure SysBios to use the lower half of Timer 1 */
( X, a E8 c) B( Y( evar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');& b7 G6 a3 a$ z- S/ l
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
. Y$ f3 p' ^+ W6 h- J0 u, m1 LTimer.timerSettings[1].master = true;
9 c+ ?+ O3 ~+ A5 i( lTimer.defaultHalf = Timer.Half_LOWER;
" j3 _2 j: H" h8 @: e3 I6 DClock.timerId = 1;
. ]9 P# n7 |) v! v6 z8 \1 m* c& N: m6 `9 l
' P0 p4 Y! q* F
/*$ K5 F- B0 D3 ]6 E4 I+ A% s
* ======== Miscellaneous Configuration ========
: |9 w% ^2 r3 j0 P% l- ^- q */
" s0 h5 J# k' t1 M9 Q W
. w$ {8 M; q7 S/* set default diags mask */# ~: W1 H+ W+ l
var Diags = xdc.useModule('xdc.runtime.Diags');" p- o: \( F: K) P3 e" p* R
var Defaults = xdc.useModule('xdc.runtime.Defaults');
; \8 g& h# n& y6 N9 Z
; G5 m" I) q! D3 V- f0 q, jDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
R6 Z! N) _- e9 WDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;. z$ p3 c5 S$ w, J- U4 Q
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;* L$ s# D+ l. x0 q+ Y9 v
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */& y& A/ }+ c$ p1 l# k+ x7 \4 W0 L
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! i/ [7 T* X$ E# g' J
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
3 h( u! t4 \% F- `/ W2 \1 s1 eDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;* t/ R/ G4 W! P; J8 J! P2 q, |& P
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 U) s R/ N2 Y1 {$ }/ Y* S) BDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
2 n T$ m( u* j* b! y/ J: mDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ [! w6 `: H2 [3 s9 TDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
- F# X Q, L% C3 qDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;1 O# H( z' j7 E0 G0 N
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;( |0 O; I, m1 J5 C- {6 F
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
6 v" {8 V7 r2 y$ l8 S. [: ]6 S% K% l W+ T7 ?0 O
/* override diags mask for selected modules */4 t! P5 O( @# X; B8 z$ Q% H8 v/ n6 Y: X2 F% A
xdc.useModule('xdc.runtime.Main');
( V! r9 ~8 Z( ~# {2 uDiags.setMaskMeta(
7 U0 Q$ M/ h6 q) m "xdc.runtime.Main",
$ Z Q+ u% n% p3 t Diags.ENTRY | Diags.EXIT | Diags.INFO,4 } Z$ O* d0 D; H, Q) ~# b
Diags.RUNTIME_ON
3 U) J. `' \; @% f& N);
& l. n( b2 A" x8 w L# i5 L$ {) D0 O
var Registry = xdc.useModule('xdc.runtime.Registry');
) N' o3 E, u% O! n5 Q9 {, f% A. }Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;4 W6 x4 L9 j; X
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;; d, K( @( p$ {- ]1 ?* k
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
! z, g6 W* f& b( [$ L" k, `Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;% F5 {! X/ l2 D, W" }, U( d0 }1 I
' X- C6 U! t5 O/ z( t% b F. J/* create a logger instance */
: g& I1 i$ M/ I( rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');' ~; @2 q9 A, x* k5 a% k4 c
var loggerBufP = new LoggerBuf.Params();
" K) V- e6 E9 i7 B9 }loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
/ @' J5 q" e4 P+ a9 R; ]# v2 wloggerBufP.bufType = LoggerBuf.BufType_FIXED;
! \9 `9 t' [! ^' B$ F, h+ \
4 Z; g$ {; z; f5 yvar appLogger = LoggerBuf.create(loggerBufP);7 U$ h8 K5 N. }3 X7 W8 T+ Q
appLogger.instance.name = "AppLog_Core1";
0 t$ y' R- q8 @; s7 ]% O \Defaults.common$.logger = appLogger;
# L$ @% T/ Y1 N, C* uMemory.defaultHeapSize = 0x8192; % T6 B0 S0 N( M9 P
Idle.idleFxns[0] = "&LEDStatus";
9 N. P3 u, D3 @. I& Y0 J* B) @/ C! tCache.initSize.l2Size = Cache.L2Size_32K;( U+ Z4 s- L; A( a# y
1 q% S; S6 c9 A! ^
|
|