|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明% v i7 k5 K) e; Z( I5 g0 z5 H+ T
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
0 `/ \: O6 s& g% M; I(不过疑惑的是,为何单独DSP仿真就没有问题呢?)4 t4 I. d) w$ j
0 s/ i7 E: x" H/ G- p+ T# i& e是不是需要在DSP.CFG中进行配置
1 f1 w% }/ v1 I我现在的配置为
/ o! E! H, h4 s V6 O" ^* {! l6 J) F: ]. e8 l& D; n
/*5 c/ X9 X' D% W# s1 F A6 Z
* ======== Operating System Configuration ========2 X; w+ O# v- V
*/" {. L3 k/ C5 r
) R% R& X6 m1 o# r/* no rts heap */ u& q4 J0 m7 V
Program.heap = 0;2 f" i* f8 \+ i) {/ N( L
Program.argSize = 100; /* minimum size */
5 E* p% i3 q: w' n ZProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
# s. V8 U# K3 c' {1 F
5 `# _. s( Z. P/* create a default heap */. R; @# V' Q# ^1 B
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
8 ?1 U) P4 S! n, R% Tvar heapMemParams = new HeapMem.Params();7 U& C9 ]' s6 I2 F0 v
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
% H# P5 W) z7 M: k. k# X E) O- S& p& R$ P
var Memory = xdc.useModule('xdc.runtime.Memory');# ^+ ~6 L, {2 l- ]. Y
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);. m% r, b4 a' E0 q
' j* c( ]' m' D1 x' k# f
/* configure System module */
1 T/ e c3 `' u% _( k4 Yvar SysMin = xdc.useModule('xdc.runtime.SysMin');
% ^. F# ?& D0 CSysMin.bufSize = 0x1000;
% i( g& p3 p! W8 aSysMin.flushAtExit = false;
& L9 w n& h; F0 y% m2 ~( L0 g
8 q. x; O5 c0 {' O0 c9 tvar System = xdc.useModule('xdc.runtime.System'); Q8 K) V' M( B B- {, v
System.SupportProxy = SysMin;
! K% Q ?6 {: e# C# n) l% H6 B
6 p% ]& e2 h6 `4 w7 F# W6 ]/* configure SysBios to use the lower half of Timer 1 */
) d/ Q) w. a1 x- P E' `9 Ovar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ Q4 _ ?2 b0 u- V; @2 S) avar Clock = xdc.useModule('ti.sysbios.knl.Clock');
2 e' W+ y- [9 f! ^& E5 x1 KTimer.timerSettings[1].master = true;6 Z1 [% C {6 \( H# Q _
Timer.defaultHalf = Timer.Half_LOWER;- P2 ?* o5 `% |" F g
Clock.timerId = 1;
# ~2 G1 r( d* @" v! i# ]0 s# n8 }% N1 J6 l/ w" ` w& v
. U. S# s( h# ~& e5 z- d; `4 ^
/*
u) p z/ ~+ Y * ======== Miscellaneous Configuration ========
2 y/ ~; F0 @; p/ Y5 g) P( p */
; a2 j& p/ w/ Q, P+ K+ m0 L& o, t* c6 Y3 l; S7 _( Q6 a+ `. O0 S! `) k0 b
/* set default diags mask */. k7 Z) s6 p' b. c$ m# F
var Diags = xdc.useModule('xdc.runtime.Diags');. Z5 @, W/ h" W1 f
var Defaults = xdc.useModule('xdc.runtime.Defaults');) f: {( I' z& \; n/ A
1 o# p* [3 v4 q. _, z2 O
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
3 v0 g0 A$ X* V1 R" jDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;0 n( t; V( B" x% b
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
9 h0 u/ q& ?9 k x" ?Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */9 X3 J$ H( R2 W
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */3 b4 O3 P7 g C* C
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; V8 w F1 ^4 }$ R. b/ {3 UDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 Q0 q7 S" H7 i3 Y+ \Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
0 f& ^0 }& @. Q" PDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;3 k- c& r& }4 p/ b" K# U
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;/ V; H3 T0 ^. X
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;" ^) G0 G: c* E5 I/ M* Z
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;3 @( E8 b5 e1 U( T/ L& O; [4 N
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& p" l3 }' X2 K f. g* V0 FDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
7 v% V F" ]1 X% _5 _% C" T/ Z/ ~8 `. d1 O* I) y g, s- e V4 Q
/* override diags mask for selected modules */8 [) @! l5 L- v" L1 m1 ~1 x
xdc.useModule('xdc.runtime.Main');
1 O8 i" B( M9 ^! A5 U; X9 U, r! WDiags.setMaskMeta(
* {) b) P) _5 r. I "xdc.runtime.Main"," J4 j7 T& m7 E6 I' G6 e
Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 K7 {9 s. P# n+ r! m7 M" _ Diags.RUNTIME_ON
! Q3 \ @) r1 d$ c% w9 D' @) `);$ K' e4 _5 o4 U+ C4 {
9 P+ ~2 y8 _& u- M) K) l/ H& s( |
var Registry = xdc.useModule('xdc.runtime.Registry');
1 \# [: h5 o7 N+ uRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
; l l0 C: E4 ^4 g4 y- BRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;8 O* k P; `3 }( W! k
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
" _0 x3 L0 k, x" V# eRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
/ `9 t/ y0 L7 c4 ]5 d7 C2 y
3 A6 d& U" N. Z; C3 X/* create a logger instance */3 e8 z) q+ q# _) N# f5 T( E0 B
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');! H8 G/ M; t. o% C+ k9 ~7 v/ A1 {
var loggerBufP = new LoggerBuf.Params();
* S' H: F+ R1 O+ a0 iloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- D& F1 d6 d$ S6 r+ A4 `. u' _loggerBufP.bufType = LoggerBuf.BufType_FIXED;
& F8 t7 I) J% a% @6 Z) j5 B
, ~* p a& ~& u4 V/ H9 u% Cvar appLogger = LoggerBuf.create(loggerBufP);
F; ^$ f' j( I2 t( r8 XappLogger.instance.name = "AppLog_Core1";
. ^7 j" A. N6 q" A" Y! `Defaults.common$.logger = appLogger;" b7 F# Z u! @* ?7 w$ f; c0 d: X8 z
Memory.defaultHeapSize = 0x8192; 4 i) U8 C* l. o, Y. v$ @2 f) v
Idle.idleFxns[0] = "&LEDStatus";
6 _# g& X8 ]$ ]! g: ICache.initSize.l2Size = Cache.L2Size_32K;1 j* b. c0 a/ ^9 j: k# \/ D
7 b5 g2 P% u9 M/ x( _& x. T
|
|