|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* y" \1 P/ G. n5 R7 r
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下" }% m! U. r6 ^- ` t9 J
(不过疑惑的是,为何单独DSP仿真就没有问题呢?): `* R0 n2 o% \$ E
l7 d+ e0 K% e! |" j是不是需要在DSP.CFG中进行配置
7 ]1 C( L- e/ I* G/ ]' T我现在的配置为* y8 z$ u3 X( p+ q v( L1 T- O5 g
9 a4 ]: N4 V: [$ c/*
5 P8 D: x1 Q% R& D: W! ] * ======== Operating System Configuration ========
. I0 ]6 C4 _7 K3 O3 s7 D4 d* ?7 M& ?. i */) [# R8 v9 m- o+ Y$ J5 [
' K* w' b. d% d3 u/* no rts heap */% D8 L' u7 [, e1 P8 P' Q
Program.heap = 0;% H* G5 [7 J( E- o7 j
Program.argSize = 100; /* minimum size */
* Q+ T w) Y$ b+ _; O u' M7 CProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大" X0 k, s9 _* w g4 F8 q; z& F0 i
* p# y" J, J. {1 z/* create a default heap */8 t$ f& e" P9 l' H% L
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+ k+ p9 a: E1 dvar heapMemParams = new HeapMem.Params();
2 }3 G: [) U6 E* w; c1 h8 @0 MheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大2 T/ {7 n' f$ z4 Y. U* u
- {" _* I& Y* n- N
var Memory = xdc.useModule('xdc.runtime.Memory');/ E0 c- T/ z7 O# M+ b
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
+ ?( D# H$ Y- j$ i) E# j, @
8 H1 i D/ S! I3 S4 H, G" ^- Q/* configure System module */
: v5 J) E% q9 J `: o9 V* avar SysMin = xdc.useModule('xdc.runtime.SysMin');
2 N3 ~% ] W7 I. X. E( T5 W7 FSysMin.bufSize = 0x1000;% R/ n3 M! w( Z, c4 v
SysMin.flushAtExit = false;
, `, M" O4 i y. T( R3 B; ?$ M+ B2 a. H9 U8 B
var System = xdc.useModule('xdc.runtime.System');* e' @# ^" p; p f+ K" y
System.SupportProxy = SysMin;5 T) J$ a) h1 b( U
- l- ~9 v. Q. A0 P
/* configure SysBios to use the lower half of Timer 1 */
% p* r' R; o) p8 s5 C) r* r bvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* ^2 j, S) ^3 W) ivar Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 u O. K* }, C4 @8 Y: {Timer.timerSettings[1].master = true;( x4 U1 D9 A. t% c" b/ D1 M0 n( {
Timer.defaultHalf = Timer.Half_LOWER;: K+ W, w# |# t2 T$ N; T [' i7 z
Clock.timerId = 1;
. Y) h5 v% y( o2 d3 ]/ V! K n6 D6 d3 `2 t1 l2 i e3 H
; Z! H& Y4 }7 @8 i
/*1 K3 h+ n2 E2 }2 y7 B b" P
* ======== Miscellaneous Configuration ========
; L# a! p: |9 X3 W */1 ~" }2 y B& P$ e& d
2 S# g. c; \1 h0 g/ N) @
/* set default diags mask */
% U1 E- b9 V7 P( W; Vvar Diags = xdc.useModule('xdc.runtime.Diags');; Y& p1 w% C1 c a- e) M
var Defaults = xdc.useModule('xdc.runtime.Defaults');& b- J$ U! O& s" G' u$ U
8 r b. J/ u1 B- V$ g2 J( X
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;6 j0 m% x4 Z! l h" S
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( N/ s$ D0 w0 e s* xDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
7 _& X i/ Z* W' ]4 q( } @Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */% \. j8 s3 [( J5 I
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
# G+ j( u! A K3 cDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 B7 J5 C6 \1 x- O
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;. W: z& d Q( h
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;; t7 Z9 h1 W) ^) @+ u/ G2 u9 g
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
2 Z0 ?, p" L7 z$ F1 a* _# B" D, xDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: F& v( y0 H$ `( X IDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
" T3 [$ G3 Y8 V" P+ v1 {Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 K" n7 F9 m% A' ]0 @
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
' P' o1 l3 E8 U2 R8 l8 J- i4 W9 jDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
9 s1 _2 N4 [7 j1 [+ ^
8 Q8 V: I7 a7 \3 G& O4 g/* override diags mask for selected modules */
" V8 }6 V. d+ ^+ N$ _' ?: @. k" H. axdc.useModule('xdc.runtime.Main');
! ?4 o1 t K/ F4 p0 H4 ?Diags.setMaskMeta(6 t( X$ W* u$ ^ \0 M b
"xdc.runtime.Main",$ |* U2 Z3 y* w* E( m6 J! y
Diags.ENTRY | Diags.EXIT | Diags.INFO,4 } ]$ w+ G2 y
Diags.RUNTIME_ON: |* C4 w' M0 n2 u
);' I1 I* i0 o3 S3 h: Q" Q8 k
: b9 w6 Z' ^7 \" Ovar Registry = xdc.useModule('xdc.runtime.Registry');- b7 a+ n! t& A+ i. ^/ L) P9 I
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
2 Q5 B* Y5 g9 W3 Z; N# |Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;/ P* s9 [( v3 h" w' s `
Registry.common$.diags_INFO = Diags.RUNTIME_OFF; e: h7 Y7 C$ ?( \% K" a5 ]
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
9 x. `( n6 A4 `$ n# r( M" m* `6 V* c& |5 ^& o9 U; v1 H5 _+ a
/* create a logger instance */% B1 T2 l& ^5 ]
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');% \6 c( P% |" p1 x" X- l' f
var loggerBufP = new LoggerBuf.Params();# b( E4 |# G2 N
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 ?0 T6 \) \ o. F
loggerBufP.bufType = LoggerBuf.BufType_FIXED;- x) H3 ^( U: }7 J9 f9 y
@$ _* g1 i" D: a* J$ q1 T) Q3 Vvar appLogger = LoggerBuf.create(loggerBufP);
% D8 Y( I' c( qappLogger.instance.name = "AppLog_Core1";
' Z5 R7 w9 |, V+ ~: z+ k3 q: YDefaults.common$.logger = appLogger;
( ]) f" ~% D+ J, {2 x7 S" y4 TMemory.defaultHeapSize = 0x8192; $ c; R6 _+ \4 |" S2 S' ]
Idle.idleFxns[0] = "&LEDStatus";
8 i; T& x. t# } {1 y( D0 xCache.initSize.l2Size = Cache.L2Size_32K;
6 F1 B( f* Q, W9 S7 O+ G9 ~& K
s8 b+ |! m( a# Q" y |
|