|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* ?, m' c5 }5 S7 a1 h3 d
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
" l7 \) L9 h# D% p(不过疑惑的是,为何单独DSP仿真就没有问题呢?); h9 p H! s+ P- I% o [4 @
- H7 [: W; m5 s" \& f
是不是需要在DSP.CFG中进行配置
$ \! l& D' I% f/ z我现在的配置为
) v" I- h1 ?, |( j# e4 h$ ~
5 r) }4 g5 T5 J5 s* O2 Y9 B& D( ~/*
4 U$ Q& w( t% I9 l * ======== Operating System Configuration ========+ {1 ?7 w( ~" ?, A8 [; P/ \1 |
*/
" n) B! x r4 O# ]" g5 s4 N
7 N L* { U$ G1 C* C/* no rts heap */) r3 G% W+ K$ ?/ f: |
Program.heap = 0;
4 a- q- h# ~+ N$ W8 H: {Program.argSize = 100; /* minimum size */
& ~, M+ {/ J& C8 g2 n. OProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大5 D; I1 I# S1 D0 {' l1 Y
6 z. ?* T- h& j7 z8 L/* create a default heap */
6 b( ?8 D3 l) B; n' {( j4 n- E5 {var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
: W8 O" Q- [, Y) p, z+ Y% Uvar heapMemParams = new HeapMem.Params();
% y. }1 h( _3 e. J( _/ w& }% u' hheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
& m. d, d" I) K$ ]" q8 Y% o9 I9 ^2 d" }) {3 f
var Memory = xdc.useModule('xdc.runtime.Memory');
- |1 W r6 e, j6 L, E0 FMemory.defaultHeapInstance = HeapMem.create(heapMemParams);. I8 Q1 b/ N0 u3 x" ]- C4 R% S4 i4 W% r
% }* ^4 n( ~0 P5 ?% k; y/* configure System module */
8 V5 ]4 ~ o+ @/ p; l2 j, g5 Nvar SysMin = xdc.useModule('xdc.runtime.SysMin');! h4 O% o/ x9 K
SysMin.bufSize = 0x1000;1 O Z/ G% f! X6 B2 F
SysMin.flushAtExit = false;
& V( T; ?0 |: z1 N, H. J' t7 j" \/ w0 y5 P+ {8 D
var System = xdc.useModule('xdc.runtime.System');4 f9 U$ K$ e4 Z% G9 _ _. _
System.SupportProxy = SysMin;
: v) k% ]" p" N( |( s& ~& P$ u& d* ]1 M+ C
/* configure SysBios to use the lower half of Timer 1 */
7 m3 G) k) n7 k# V8 y; rvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
! d) Z4 @* G1 }9 ?. [4 ?+ Kvar Clock = xdc.useModule('ti.sysbios.knl.Clock');/ J% W, M' B$ p* P
Timer.timerSettings[1].master = true;
" h+ _& u8 Y& i, G8 [' m/ p8 p, }Timer.defaultHalf = Timer.Half_LOWER;+ r5 S. m- \8 b# l
Clock.timerId = 1;# w( a* J7 t7 o" H
5 T% p! a9 j$ _/ D0 V
. y5 d. E: J, K# n& g$ E
/*( Q/ b; z; n4 w" F% m- m; Y& y# n
* ======== Miscellaneous Configuration ========
& C6 {% H) B( Y$ t */
* D; I8 `1 Z% B+ m% W0 \$ {
- ^8 x- L1 X4 e/* set default diags mask */
* o6 J2 b9 z' xvar Diags = xdc.useModule('xdc.runtime.Diags');/ b ^8 _8 M5 c6 h/ M
var Defaults = xdc.useModule('xdc.runtime.Defaults');
" `' [0 C4 p6 e1 v( B; n
1 k& j8 J* A4 S/ G2 }, _Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, {- n8 E0 [4 }/ M- bDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF; O5 ]# o0 Y* S( I2 b4 n
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
" G4 z1 T7 N) ?1 T+ {% n6 eDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
- s. i! a3 s5 m2 kDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
& e, a1 Z% n9 ^6 H* t8 ^Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
5 _1 k7 D! o) b/ H4 j6 j" K& LDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
% {* q/ p4 E, H, nDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;7 N" |$ O8 Y7 ~+ f& \: f) ^
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;7 e% V" f# l' p$ H. i
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;5 z. [7 \& _8 @2 V, Q. U$ r r: y
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;; X( X& t P. R
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
. h+ h7 s1 ]( z' o B. vDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
: l) B$ g9 b* q9 {& x; x3 DDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
/ \2 x0 U6 i! s. ?; A; v
1 V& `7 o# n7 O6 E1 M; |/* override diags mask for selected modules */9 c6 c+ g8 V2 D8 J0 E7 T
xdc.useModule('xdc.runtime.Main');
5 \; K2 J! K1 A4 C4 K1 {6 VDiags.setMaskMeta(
4 z& W3 `0 O b$ W "xdc.runtime.Main",8 }2 `$ @4 X; `/ H+ X
Diags.ENTRY | Diags.EXIT | Diags.INFO,
3 u8 U$ p) [! ~ Z& i7 { Diags.RUNTIME_ON9 E2 D$ P/ B0 I/ u: z
);8 t% u; C6 d& q2 l* x5 y
, k8 r* f# C l6 E0 }
var Registry = xdc.useModule('xdc.runtime.Registry');
. O5 @ o( Y G' c- S8 C/ ]! f% cRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
0 H: L- C; o! ] K! mRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;2 b# {" n5 F; i5 \5 ]; a( w% f: I1 x1 A
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
9 _7 I8 }* V! S1 u5 k% n7 ^Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
: n" \+ i* F) P, s N: p1 A
) t1 z, e5 A: W4 [+ W! C2 o/* create a logger instance */
_" X5 N4 i! E ivar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
7 J7 g/ x3 j" q) \7 w1 ^8 ]var loggerBufP = new LoggerBuf.Params();' ?; w4 b9 X& F' s
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */' d: m5 r3 a0 i: R
loggerBufP.bufType = LoggerBuf.BufType_FIXED; H: u5 F) T$ c: q4 a. M
/ Z. u; E% c4 Z/ D' _& p; h
var appLogger = LoggerBuf.create(loggerBufP);1 C/ t6 C* @" N0 y
appLogger.instance.name = "AppLog_Core1";$ G$ L0 E5 i1 I! P: ^5 Z
Defaults.common$.logger = appLogger; _& a# |- {, j: H1 ~
Memory.defaultHeapSize = 0x8192; 8 F' K" q L8 I! ?9 K
Idle.idleFxns[0] = "&LEDStatus";
: h+ n0 ~/ j* G0 HCache.initSize.l2Size = Cache.L2Size_32K;" A/ ~/ u8 j8 X3 \: a0 T; q
: v/ J3 t' a; F, r1 `
|
|