|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
3 T6 y, f0 S; U% K# A' N; G我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
% |; s6 F! ^* a(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
2 j4 {8 }, |- C
& z2 _6 l, H+ D9 c% k0 C, C是不是需要在DSP.CFG中进行配置
& E. A ?4 E: c5 f) a! ?我现在的配置为# c7 ]1 q4 V8 p+ ]& X
6 q9 a w4 Q P, ^' ^. x8 ^5 x+ s
/*, z" P2 @- N# E) M: t9 R. ?
* ======== Operating System Configuration ========
+ `+ l$ o6 n: ?! `; c) q9 P% { */
3 f2 l( q! N/ t
; P% R: b* ?$ Z/* no rts heap */$ I- }7 V8 e! j8 c/ ]; H
Program.heap = 0;
/ p/ ^$ g$ G5 g3 WProgram.argSize = 100; /* minimum size */
# \/ T/ v$ R& a- g6 N3 |Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
6 _6 X# S! t7 z/ ^. |; W7 o3 f& G/ ~" x/ J
/* create a default heap */
: P; c, W) m' q: k m" Uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');% \% z7 L2 d0 z2 W9 @+ H
var heapMemParams = new HeapMem.Params();
) y! P1 P- b, s0 BheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 L# P6 p0 @# n& M' p7 g" K u- A$ b
var Memory = xdc.useModule('xdc.runtime.Memory');. M4 K6 I U3 n& n& E3 v) Y
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
' @/ o1 I7 U. x
+ L% T) |( m7 q" d9 F# w) e# e" m/* configure System module */
m! o: y5 Q" r0 f' P- [var SysMin = xdc.useModule('xdc.runtime.SysMin');
9 `8 a! p6 a5 {# n5 XSysMin.bufSize = 0x1000;
6 q) `; W; R' L+ e; f/ lSysMin.flushAtExit = false;2 _4 J+ X3 T) r8 o- R' [7 @
+ f. t) {0 c0 g) S
var System = xdc.useModule('xdc.runtime.System');7 p% \/ a7 s/ V) }3 i& ^, S
System.SupportProxy = SysMin;2 x2 a& _7 W- U
7 d* z0 i) @6 `; D% P3 w/* configure SysBios to use the lower half of Timer 1 */; ?: p8 ~4 q4 W
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
B5 \- f7 u5 c2 i* M' uvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
! ]8 F) x+ u" V+ v8 ^, t5 t% L2 RTimer.timerSettings[1].master = true;5 o- A+ W" r; d' p5 t7 P
Timer.defaultHalf = Timer.Half_LOWER;3 p1 L/ F, h) j O; o, b5 h! m7 `: j! G
Clock.timerId = 1;; I8 Z7 f# a i/ A: R
, H: C; x. V8 G
' J% f2 m7 O' j, v
/*- D5 u# Z+ M7 L+ j% q3 P8 K( `1 E' L
* ======== Miscellaneous Configuration ========
9 u+ T7 _7 Z- b: \' r1 G2 Z' x */
# c5 Q8 a* _) b# p/ B, g* K# l
2 `" f& o" s0 s, {2 T/* set default diags mask */. W4 `( ]) I+ |7 a1 M9 `" W
var Diags = xdc.useModule('xdc.runtime.Diags');+ h5 f; H& d. n) o( i; d
var Defaults = xdc.useModule('xdc.runtime.Defaults');) F, p& W% a% ^5 N% j4 F' M s! Z1 m
0 r3 L4 K# U8 y1 j3 {- lDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;# m4 @% j3 r7 ~* G% v4 @# `
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
8 t( Q( w$ x8 ?- f" W: i3 uDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
4 j) L% V# `1 D4 ^, {$ i6 G7 \Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
" v: |% o$ S9 U* I; i& r, h* oDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
9 U- Y# d( A, q) |" Q( g [4 CDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
, F; J4 _$ w5 b) [2 _Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
* l1 |( M5 Q$ A: SDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;, b) k: V+ b; B `, T& L2 _: H+ B
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
, U+ P8 E% H5 L, `+ {" gDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 {2 X9 D. Q, v$ k) E; N
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;1 u. `5 m5 D8 c$ `! V
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
; E a# r- K7 L _. d- Q/ x& kDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
" B; G8 [, \2 ~1 W6 {* R" GDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& U: c3 L2 ^5 ]6 ` H( [+ b
' @4 a+ Q: Z9 B. \+ B$ V, c( s. d/* override diags mask for selected modules */" n& n5 x$ R/ q
xdc.useModule('xdc.runtime.Main');
' A/ k; R( |) A; Z$ V/ pDiags.setMaskMeta(2 r+ I; i, g0 a+ _& j6 b
"xdc.runtime.Main",
5 s! l* S6 f; {: T9 `6 R Diags.ENTRY | Diags.EXIT | Diags.INFO,$ ]8 D5 V$ q# |/ b# M& ?' D7 Y) h$ x
Diags.RUNTIME_ON& T$ u% m) H P- ]/ c$ |
);+ e4 \) k& N5 ]/ v7 v
3 f# s( ~, ^3 k: f9 x8 z+ v( svar Registry = xdc.useModule('xdc.runtime.Registry');+ @) A& b5 X+ j" |- m1 j
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ h& n) c- P' }' a1 c6 b# L$ O
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;, [4 h0 o! }; x/ V) j& j6 P% x b5 T) A
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;. U, T/ @" s: }) G) G! J
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 b5 |6 J; h) D7 D
/ R2 A$ z; F" O8 s9 I+ P/* create a logger instance */
! C) S- U E$ [& W4 m2 `* Ivar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
( O1 [% P n" ^- u1 B5 u3 w' \var loggerBufP = new LoggerBuf.Params();5 d& m- R0 `' j2 ?$ v. ~: u2 |
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 i$ G3 X/ ?0 b9 L7 P
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
" q* K4 j2 ~7 a' \
/ C2 W. q8 G% |$ P. p" [# E2 Lvar appLogger = LoggerBuf.create(loggerBufP);6 Q; z% ?9 b$ S& K; X
appLogger.instance.name = "AppLog_Core1";
9 O/ {3 L0 h/ ^Defaults.common$.logger = appLogger;
: w9 w$ ^; l; jMemory.defaultHeapSize = 0x8192; 9 H3 }) \9 u. ?
Idle.idleFxns[0] = "&LEDStatus";6 Z6 ^. a0 t9 [0 x2 W% y! ^) F
Cache.initSize.l2Size = Cache.L2Size_32K;
2 P: I% Y# e1 ]# Z5 _5 V' C8 j1 a8 a
5 R6 r l0 ]2 H) a4 W4 F |
|