|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明8 a1 i6 Q. f1 T+ d8 G( p' D2 K
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下7 |1 V8 A7 D2 Y1 W: S# M
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
, s( O) y; |! M3 E( T- K. _$ s( J) o$ l$ \: y' W/ u: F6 E( @
是不是需要在DSP.CFG中进行配置9 w6 M- @* f2 M: N9 H! m
我现在的配置为$ o; v* V/ R) p, E* ^
1 s2 W* I9 y3 c1 r8 y) h
/*7 F+ G9 P: U0 F6 @/ z- P+ ^
* ======== Operating System Configuration ========
- _2 s* D. x7 A6 G2 c# \; v */
, v. c9 @3 R S) n- z$ d- C8 s h0 @! N9 ?( _& ^6 P) |: F4 H' C
/* no rts heap */ d# `' Q9 O9 X, Z% I, ?% V
Program.heap = 0;( ?# }9 a5 g7 J1 D s6 R: D
Program.argSize = 100; /* minimum size */
4 Z( M2 ?$ D7 p1 f8 y" O' HProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大% m" h6 D* E5 P* A
' n0 P2 h# |' R' A1 a
/* create a default heap */3 S: {. V/ l2 L9 ^$ w
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');% U4 E9 b; E8 u: _
var heapMemParams = new HeapMem.Params();3 Z, M( E" M% X q; h$ L; G5 G
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
, [% G5 ~5 Y; x$ T$ D* c' Z; w3 l! B, t e) o' ?$ N: R- [+ U+ C
var Memory = xdc.useModule('xdc.runtime.Memory');
/ L& x: S" D* c' IMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
9 i9 }) u7 R# b5 `/ a( w n
. l1 L, d& m. o5 E, q/* configure System module */
4 q# b1 m/ X* H2 Rvar SysMin = xdc.useModule('xdc.runtime.SysMin');
3 g/ c" d) T% K# J" ^6 lSysMin.bufSize = 0x1000;
( i- b/ n; ]- t+ JSysMin.flushAtExit = false;( p. [9 O* H. z4 H: l* f
0 M5 m- U" v/ b! ?
var System = xdc.useModule('xdc.runtime.System');! Z, v, Q4 O5 i# \+ @2 O
System.SupportProxy = SysMin;
$ q8 [4 s" v& G% v
j4 p8 }) r: n, T1 a) s( P( ~/* configure SysBios to use the lower half of Timer 1 */
! t# e7 g) |# \var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');2 p2 d; R6 Y& i( E% x
var Clock = xdc.useModule('ti.sysbios.knl.Clock');& S c4 k) l: B
Timer.timerSettings[1].master = true;( E3 g# ^3 L4 u! G& ~" P/ g) B& D
Timer.defaultHalf = Timer.Half_LOWER;3 T0 N7 F# Z5 p' B8 I
Clock.timerId = 1;
6 b+ j X$ s. k0 T' u3 ~: r
$ l; L0 H; K9 o2 | j4 r; x. X# x! q! p( h+ k
/*
+ i& J- y2 F+ g * ======== Miscellaneous Configuration ========5 _! U+ z- k' h" J5 ?
*/' D3 i+ I7 B: ]; P" s% X
- b- w/ N/ ~$ W% F
/* set default diags mask */. ]- E, X3 K! G( Y* f
var Diags = xdc.useModule('xdc.runtime.Diags');4 D3 c/ y' g6 ^' b. f
var Defaults = xdc.useModule('xdc.runtime.Defaults');
( F( W, W+ j7 U, m" R; z
) w: @) Z+ r% i/ n: _& uDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 ~8 @' h& m0 D+ d5 g* x
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, Y! l# V4 V& O4 Q- Z# PDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- E+ ?8 p- x2 i7 U. ^
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts *// D/ W$ g" h/ x' {
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */& Q' f) i, q" Y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 R' [% l, v( yDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;% n! S0 g" @2 ?- m/ v9 v i* z$ a( m& |
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* r) W, b P, M: @( ?6 V/ k8 iDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 T- s' T" m/ o$ T5 ~
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 t! t% S4 T' v0 UDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
- v' ?' I6 T$ NDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
# E$ K9 N% i7 c$ ?+ y. X6 PDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;4 E: ^! d) [, \8 g, N9 c p
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ w+ s$ v2 G7 Y' ?4 x0 c
8 l: L& ]) }* L/* override diags mask for selected modules */
# a& \" z4 _9 ^/ q; c: axdc.useModule('xdc.runtime.Main');
+ P( H7 [" @ w% a! A& c) jDiags.setMaskMeta(
" e2 ~4 D% ?& [- y6 E e: M( L "xdc.runtime.Main",
; n+ i7 b0 J. a; g Diags.ENTRY | Diags.EXIT | Diags.INFO,7 Q* P g7 w. f( j
Diags.RUNTIME_ON; {: m G' |. E# l/ g5 g
);6 e6 z g9 C% i/ Q( X
1 [' F. X$ Q4 A* v9 m' w8 d) v; ivar Registry = xdc.useModule('xdc.runtime.Registry');
7 l+ Z# Z$ |$ TRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;- R. K8 ^) u& k1 n# i4 F
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
( ~( {. v! V$ zRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
, n7 t6 R: @4 F( r! z0 URegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
9 B0 ` C5 p1 Z. P# s+ E+ B! j
, _5 X/ U, u8 B' Y4 q: t' O- ?# n$ G7 ^/* create a logger instance */
" F* i P2 |! g+ Q$ Q, }1 Hvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');8 o6 Y% ?$ c. P% F0 D+ r- x
var loggerBufP = new LoggerBuf.Params();2 F& Q; c9 \/ h8 Q8 S/ x
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! u9 ?( Q& g! j u5 P
loggerBufP.bufType = LoggerBuf.BufType_FIXED;& V: d8 ^5 Y& d; y0 v% ^ F) d
' K/ P' h/ S7 ^- z1 p, F
var appLogger = LoggerBuf.create(loggerBufP);
6 b" I) l" A; XappLogger.instance.name = "AppLog_Core1";8 x/ z Z3 v o& G* p& [# z5 o
Defaults.common$.logger = appLogger;
' M. Y2 S' d. Y+ C5 K; dMemory.defaultHeapSize = 0x8192; 1 n$ B0 F, l- Y$ a9 H8 ^
Idle.idleFxns[0] = "&LEDStatus";( e4 W1 V. ]' X
Cache.initSize.l2Size = Cache.L2Size_32K;
- R0 b* x* s8 l( a3 [5 S& ^. ?( p8 h; F0 S2 e* r% N0 Y# I6 C
|
|