|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明" ]: \1 {4 q' c
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
0 L9 P5 g: [* y x" [# U/ v! w(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
& V. n- D: b6 L
' i3 m5 h/ Z0 Q4 _是不是需要在DSP.CFG中进行配置
" J7 ?% W; R- B. b* G4 i我现在的配置为: ^* Y( {4 I( G2 W% [& \
" q+ y6 i5 c; C# J, j
/*( }% \; @7 O# }/ _) f
* ======== Operating System Configuration ========6 Q, a6 f! b* `/ ~, p' m' q/ s
*/
1 Z' q1 J) ^: s- R7 |) C& G \
4 O; \7 k. Q& Y9 l1 x6 K) p7 k& u/* no rts heap */
& L* o' d" F: @: FProgram.heap = 0;8 F3 p* Z* ~+ \9 A; x7 H; Y
Program.argSize = 100; /* minimum size */
3 `$ X, @4 k$ c/ p; CProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ G4 @- G4 D# [' x
1 ]( W7 G) S, a+ H2 _
/* create a default heap */0 t- s5 y& n4 d1 C
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');) Q1 g" m* y) M2 H
var heapMemParams = new HeapMem.Params();
6 l, @% U) T F& {; O: v2 LheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
, q) t& Y+ V9 h, H3 r9 a% {9 H+ k+ g& |. o$ E" ?/ H( d
var Memory = xdc.useModule('xdc.runtime.Memory');, h; x& X: |4 F. S3 V: K
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
# I! R6 b& _1 Z! z& a# F" q- h4 u9 R" r' r
/* configure System module */# Z( ^% E/ ?5 [
var SysMin = xdc.useModule('xdc.runtime.SysMin');
% S D% C, J( ]* D3 LSysMin.bufSize = 0x1000;
+ U# X4 t! q. W; F) C' K- }SysMin.flushAtExit = false;
2 m! x1 R( k4 s0 u3 w2 O* K3 e; l F" W4 k
var System = xdc.useModule('xdc.runtime.System');" t5 q8 R: s9 Z0 S7 }1 V8 B
System.SupportProxy = SysMin;
' Q$ e3 e0 `9 n- ?/ [! G1 @- Z! ?: K+ t4 i* s0 y
/* configure SysBios to use the lower half of Timer 1 */
0 ?3 y! _8 i5 g1 a" Y# wvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 _" y' Q, n6 y* Y2 @# {5 mvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
D, ?% A* s2 q; d6 J: CTimer.timerSettings[1].master = true;5 y* a9 ~ [9 w
Timer.defaultHalf = Timer.Half_LOWER;
7 \! T/ n% J' P! C) t/ M0 [Clock.timerId = 1;; s( Z9 N* y2 k9 w' u E
( v3 `6 ^& `& D7 X8 e/ |
+ ]3 ~8 |9 K! {9 r+ K2 S* h8 }/*
9 A3 u) [9 {# C: ~+ z+ v * ======== Miscellaneous Configuration ========
2 ~2 O) e4 g& |0 l- W */
* G, R4 h' E/ `6 c* |& g
6 y9 \8 D2 R3 X# ~0 ]5 f/* set default diags mask */
K4 P* `. Q5 @4 U$ ]! z# B' uvar Diags = xdc.useModule('xdc.runtime.Diags');
* j/ U9 F5 @# I; Bvar Defaults = xdc.useModule('xdc.runtime.Defaults');
2 x7 s6 f8 z$ k$ c. h" x$ {! D* {7 @5 R
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* l1 `2 Z3 G8 M) J4 j7 B6 pDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;/ o. _( f: D% T' z! n( N* r
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
6 D/ Y) i3 {9 L; f! W: P8 p( \+ \Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
}: d, J! ]) k$ t3 MDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 F2 p- Y6 n2 s& x4 X
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 I5 r; X6 s" [
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
/ w- ~5 L* ^/ L/ F. w; U# iDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;$ t: C, ?6 L3 S: b6 j' n
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
, H: k+ y/ x4 Z% z9 TDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
) n3 Y9 L3 @! \: a( ADefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 O$ z0 K0 z( ~' iDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;$ `7 [) M2 ~, @! T
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 ^ g6 o) m$ t
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;9 J% K2 z& Q/ a6 a, j/ R; i
& N; V" Y" C; M m9 i& j& O
/* override diags mask for selected modules */
1 K e. ^+ g2 ~xdc.useModule('xdc.runtime.Main');
. \) c# S k9 i3 g) L aDiags.setMaskMeta(# Y% T, ]7 e ]2 j) T! N
"xdc.runtime.Main",4 |, k0 M9 H4 j5 N
Diags.ENTRY | Diags.EXIT | Diags.INFO,
5 D( g2 O3 t$ n$ g Diags.RUNTIME_ON
, w8 Q, c" U! `* ~+ J" J( T);- I1 y; h) S( E* _5 L5 C9 N
! Y; H1 s" ~% C% @( C+ i
var Registry = xdc.useModule('xdc.runtime.Registry');
6 L. k+ s2 K! ?1 x8 A6 ?) uRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
) O% r& a; S" o: d8 GRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; w, e0 O) p. c4 U' T/ yRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
2 z8 [9 ~4 E, G" j' h7 Y; BRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;. k7 F* s; \5 p$ h
R( ]0 u/ G9 U( K% T {/* create a logger instance */
& y2 s7 Y+ {6 y- Hvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); I' i( n7 A! ]4 q% U1 N. E
var loggerBufP = new LoggerBuf.Params();+ h) ?& `8 q* x8 A
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- G/ m2 O2 t, ~/ Y0 N9 jloggerBufP.bufType = LoggerBuf.BufType_FIXED;
5 P, n- @- j0 Y9 V9 I# A5 l4 {+ \" f; j9 F: F2 \
var appLogger = LoggerBuf.create(loggerBufP);
& I7 k+ G; Z V' U$ IappLogger.instance.name = "AppLog_Core1";- P2 s7 j' T6 X' b
Defaults.common$.logger = appLogger;$ b8 i5 T7 h+ m5 |" w, f2 f2 a O
Memory.defaultHeapSize = 0x8192; 0 l; W# [- ?% o6 F
Idle.idleFxns[0] = "&LEDStatus";" M, t' P! C& P) Y# P6 b$ K
Cache.initSize.l2Size = Cache.L2Size_32K;# H& g% r2 _; {6 Z9 C
! q' Y. j8 i B4 w |
|