|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明% [( o4 e0 W. S. h1 {9 s
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
j! p1 x( M1 o" T1 X(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
9 i$ c: c* D3 A8 s) t5 k
- G9 E. E: K* t+ C, c0 f是不是需要在DSP.CFG中进行配置: X4 R" K' ^7 Q7 d F2 F
我现在的配置为4 P- E6 N1 A4 h( K* U
" D; V* S; v* z6 B u# q
/*$ I& N3 n, j6 d# ^& O8 D
* ======== Operating System Configuration ========
- L. }! }0 |8 b, k */7 m. V1 i0 c0 _ o/ j
1 k d7 d1 ]: y5 d; f" A3 a/* no rts heap */
' o0 ]3 m! R, f" CProgram.heap = 0;
' _: k" W+ d2 Z% o6 PProgram.argSize = 100; /* minimum size */1 K, B) L( c" b- m, l8 t
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大: E+ s; d0 i% n( r6 H- S
8 h/ b+ g! u* E) q0 R8 g/* create a default heap */. |) ^$ r F P; y
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');6 n9 @- l" U& ]$ Z
var heapMemParams = new HeapMem.Params();
! t2 l7 s5 L9 L: D6 FheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大5 S/ I2 i4 I1 W+ d& \1 v
/ z% Q. g8 k; W' f% L, J
var Memory = xdc.useModule('xdc.runtime.Memory');& H3 b5 c2 h6 R; Q+ |4 l6 `
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);( O' R/ o" V3 V3 \" D- A. `
- H$ e+ z% z* N M# \
/* configure System module */
/ B- s' J8 t9 Nvar SysMin = xdc.useModule('xdc.runtime.SysMin');
+ o$ N+ w1 ]8 y, a7 Y: ?* OSysMin.bufSize = 0x1000;# _) z% i' C2 H: {
SysMin.flushAtExit = false;
+ o7 Q- S; ]+ K1 h0 ^# R
0 w, A/ l, C/ o$ |" g4 Yvar System = xdc.useModule('xdc.runtime.System');
+ Z2 `, [; c) D: C; i# nSystem.SupportProxy = SysMin;
' R$ P; O7 T/ @
4 g, _+ N' y- o. V/* configure SysBios to use the lower half of Timer 1 */
) U8 a. q- U8 x$ K1 X- xvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');4 l) ~7 x4 Q0 t( E1 Q
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
; X! r6 G* q+ ]Timer.timerSettings[1].master = true;
* L/ ]) u/ C2 ~9 U! q7 `) ]+ vTimer.defaultHalf = Timer.Half_LOWER;& d* ~4 b/ S' s g9 t$ m$ w
Clock.timerId = 1;$ ^& _4 \# h4 ]1 O6 h9 v
- f/ x, p N- `
+ W$ v; `* ?( a( E1 t/*: j/ P/ m: I) E; S2 Y
* ======== Miscellaneous Configuration ========
/ _+ F7 W" A2 \3 e9 {5 ? */
( X/ f( s: U/ M, z: }7 Z3 ]
, s, @6 M- E( P/* set default diags mask */
: M( [' \ S! j% Y l/ Q' mvar Diags = xdc.useModule('xdc.runtime.Diags');) w6 |" m/ j$ n
var Defaults = xdc.useModule('xdc.runtime.Defaults');6 e! E9 L" j' W' V: R& I1 l
: B, y! x( U A* oDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;1 x& _) x2 n8 ]9 x
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;: M& [: p. O+ p0 a* U. }( `
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;# \6 W/ e% I, r: ]( {1 q
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
# @; W2 D' b+ R1 C! r% ~3 ~Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
6 r. M; `- l5 |4 I$ M+ P, vDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;2 M6 h! V0 ]1 k
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;3 ?4 W5 p. _$ h1 u
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;+ ~& F* _ s1 x! m
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
9 ]7 p! I: ]- V4 @8 QDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' ~1 w- e& G9 z! a) o/ I, tDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
" Y9 ]6 M; n& p7 DDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;3 F$ U8 o* s0 k4 O- Q [0 `4 ]
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
9 o( q7 M; H: M4 c# I" i1 CDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" o2 Q1 s; h5 |) h& b1 a
4 c2 q' r3 ~% g! X, y8 j* l) Y! z/* override diags mask for selected modules */. V5 d' s6 f# C) h
xdc.useModule('xdc.runtime.Main');5 {2 P# G5 D; r: a" h# [; K
Diags.setMaskMeta(+ l& T/ M1 A8 u! N( f; Z% N% J
"xdc.runtime.Main", ^5 p( Q; E# \3 `* d3 l
Diags.ENTRY | Diags.EXIT | Diags.INFO,
% ~* O% L% I" @) K Diags.RUNTIME_ON, M% s/ q3 R& C
);1 ^8 R( p& X- `: L. U
; j$ m) ?; F/ ^. k
var Registry = xdc.useModule('xdc.runtime.Registry');
2 Q$ |, @' I0 v, \ l; d/ H* ~Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;; \% s# B7 C& R0 ]0 y8 |* t) c. N
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
) _2 q/ K) j" v+ {2 tRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;" T! I% V1 c" G; a
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;3 q! W$ p! b! i/ ]; m* j) `6 w
: s8 |$ n6 e q: r/* create a logger instance */
1 T+ u( u7 G) l! G0 Bvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');0 j$ w# ~/ Y3 ]! V9 s: B
var loggerBufP = new LoggerBuf.Params();
) ^* a' \! i" U4 `0 WloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */6 e0 d+ Z8 }( v% j
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
. [, D9 w g `2 |( E6 K( b& U! u
var appLogger = LoggerBuf.create(loggerBufP);4 O: H7 `5 \2 w
appLogger.instance.name = "AppLog_Core1";
0 g- }! C8 y# }* CDefaults.common$.logger = appLogger;
: J G+ r: Z0 \4 k6 h* l# V7 U2 iMemory.defaultHeapSize = 0x8192; 7 Y2 Z# ? p! d$ M
Idle.idleFxns[0] = "&LEDStatus";5 x0 x, k; k6 F) m/ r$ @
Cache.initSize.l2Size = Cache.L2Size_32K;9 W" p& w5 ?5 U+ e) x' n: I
6 Q2 l8 `7 I( w; X# p' a |
|