|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, q& s: v7 @. i1 j( e
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
; A" j, v2 i" Q. }(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 j5 k+ J3 f% b h1 M" Q7 a+ r1 s" Z+ J3 d
是不是需要在DSP.CFG中进行配置% x% x2 C7 W3 b" ^
我现在的配置为+ b, a4 g3 i2 K9 X N
2 A$ e+ n) F6 I3 b# N
/*
' @$ N ^( V7 e4 f, P, v" O% @% F4 p * ======== Operating System Configuration ========
) i/ Z4 I; M( \4 [6 w X */
& O0 X& t* [8 n. K* R m) h6 E
/ V4 K5 \2 v+ B, c& {/* no rts heap */! P5 b2 `: K. |. J( f. D& u% t
Program.heap = 0;3 O1 q) {9 p+ c; H8 k/ \; o' h0 B' x
Program.argSize = 100; /* minimum size */
O b$ g! {% }1 f5 }Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大% S( \3 d, ^, A" k1 Y/ v
5 {" K7 h: {+ X; a/* create a default heap */* r/ E, W0 G% h2 \
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
8 G8 r" D- C7 C, X! Nvar heapMemParams = new HeapMem.Params();
" ]2 ^# A% V) X) T7 XheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 ~; X( O; _, h: M
% T: h. s- ]+ e, G: Lvar Memory = xdc.useModule('xdc.runtime.Memory');
3 O- b9 ?7 B1 W! E5 rMemory.defaultHeapInstance = HeapMem.create(heapMemParams);9 `$ ]. g9 q; h# p$ P
# ^; R7 @& {. A6 K2 |* E* w
/* configure System module */
! y5 [) W7 ^4 K Wvar SysMin = xdc.useModule('xdc.runtime.SysMin');
. ~6 i' G: n' f, ]- ISysMin.bufSize = 0x1000;3 D5 w l9 W" M/ ~. M
SysMin.flushAtExit = false;/ h1 v' w; W. a! o8 @
; m! _2 w' |7 q: q5 n2 b, w/ W3 I% p
var System = xdc.useModule('xdc.runtime.System');. G. q Q/ v3 r* I" F; J
System.SupportProxy = SysMin;4 S8 i; ?1 I2 l0 N# S z
" `5 d3 ?0 @/ A/ D% B/ l
/* configure SysBios to use the lower half of Timer 1 */
# E" C \% W' @8 N0 ]% p gvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');- ~9 r( i$ u6 m) w. L# U4 ?& J
var Clock = xdc.useModule('ti.sysbios.knl.Clock');' R; R2 x' s$ W0 j( A6 G
Timer.timerSettings[1].master = true;1 r* @$ }7 x1 v* o7 i# ~
Timer.defaultHalf = Timer.Half_LOWER;, Z6 f" S- W% p. W3 @
Clock.timerId = 1;3 C# w3 U% n7 I' i& x( ~# v
. f" t" A. N4 I& D; t; q% f A4 ^ t+ ]4 D
/*
/ l3 B O7 V% {! g * ======== Miscellaneous Configuration ========; p0 D; x5 m: a" U! B( p4 X9 X
*/
" l2 I2 |9 r4 I1 b$ K; g: h; ?1 E3 V/ K/ t3 s$ E6 ]
/* set default diags mask */
5 R3 n" ]; d# W+ }' ^8 `8 Hvar Diags = xdc.useModule('xdc.runtime.Diags');. u2 ]: o+ ~% n
var Defaults = xdc.useModule('xdc.runtime.Defaults');
; L: Z2 h0 t. ]
* s+ Z, U! b9 ]+ jDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
+ y6 H$ E5 X" ZDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
! B" N3 p* O' l; |* m+ PDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 N; v7 N) ~% ~ J8 l( K5 u
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
; b, r# Y" J5 P) T3 t% zDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */* o* f x7 j6 i( Q
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;5 B4 b4 q `9 k. ]" t4 F; W
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;' M# B7 a$ c# ~) e4 l
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 U7 x: {# j) N5 FDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
- c5 Y1 z9 I& c6 E& V% M" XDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: b5 k' d c! ~/ W9 }& W! [Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
y( s! q$ M" ]6 V: ?0 V# oDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
9 Q& N; [6 z6 |9 d1 Z6 w6 wDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;8 S; d1 i8 F l N$ ?0 q9 ] _
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
- Q, N" U+ C0 z, v0 W
6 c8 y4 V, ]8 y2 i: s! p/* override diags mask for selected modules */
4 `4 r9 v& `1 L" f7 Qxdc.useModule('xdc.runtime.Main');+ E% i- Y+ @5 F2 V4 _" x2 ]! H: b% I) c/ f
Diags.setMaskMeta(7 V! C7 _. H3 Z* G0 {3 l
"xdc.runtime.Main",
- w+ s5 |3 F/ W3 W C7 R Diags.ENTRY | Diags.EXIT | Diags.INFO,
7 N8 O) I% i' v( k( w Diags.RUNTIME_ON5 [4 L% Y' ]& c k$ p7 g$ s8 Q; O
);
) P* C2 U6 e- A( _) _2 f3 f$ m2 T0 i$ ~% }
var Registry = xdc.useModule('xdc.runtime.Registry');6 i- V5 j5 k; o) s9 I5 R: ~" Z J
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
* c# H; j4 n: P- s0 E8 LRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;( @5 n& n/ Q7 f3 W' p
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;5 l2 L/ U6 m- _6 |9 U/ _0 T
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
1 T3 L$ \7 [ O0 x
" m# Q/ K9 d, `! k0 l/* create a logger instance */
- ]# b- l0 A& s6 ^5 g3 f# Dvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
% N; ~, H8 c7 f) n5 D' Ivar loggerBufP = new LoggerBuf.Params();1 {! h$ L! F4 J( A, l+ ^. D. J
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- u, v- @9 h, M3 y/ l* z+ p, nloggerBufP.bufType = LoggerBuf.BufType_FIXED;" s- j! L9 s! b' L
3 S1 B7 t6 \# i+ U* }
var appLogger = LoggerBuf.create(loggerBufP);
# H+ Q6 G4 c( S/ Q4 F5 FappLogger.instance.name = "AppLog_Core1";* J( R/ C P! \9 o
Defaults.common$.logger = appLogger;" l% |! F0 F& J; i$ R4 z
Memory.defaultHeapSize = 0x8192; 7 Q9 N) u# S. h2 d, ?( Z6 ~
Idle.idleFxns[0] = "&LEDStatus";5 H/ e9 _ O3 l! M6 L/ Z
Cache.initSize.l2Size = Cache.L2Size_32K;
+ X/ E1 t% M( s+ Z' H+ |0 s3 g" @1 F3 R# b
|
|