|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
+ C8 [: u5 W" m1 ]2 z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下# W9 j5 M% T( U5 J
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)# }. [( }; U7 k! I, g0 J6 {
! v/ e5 c6 L7 x0 i: X& C9 p9 V
是不是需要在DSP.CFG中进行配置, L4 p, B3 q8 _- a
我现在的配置为* r, s0 s" ?" t1 t
- P8 S7 m& T$ O% c0 D/*: |$ C* j$ M/ h9 \
* ======== Operating System Configuration ========
) f2 u h- @$ h7 q */
! j; t$ d! S) G; s8 P; N$ [9 D, o5 @) g
/* no rts heap */8 K' H+ T) J/ C/ R. s8 O
Program.heap = 0;5 Z4 j' E7 H% d* _* _8 t1 R* @
Program.argSize = 100; /* minimum size */' G& t% F7 U* H
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大5 ^" {7 ]% z& F: \: z7 `% C
8 s4 R, C. F. o& X* m1 W4 k2 a
/* create a default heap */
6 A9 V7 Z& @5 ? \: e9 l+ b- Svar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& }9 O( ^$ w$ @+ W+ I: X0 a3 v3 a
var heapMemParams = new HeapMem.Params();9 F, F1 j8 V2 t1 F: A( C
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
5 a2 y0 K( r0 b8 v! @* J
' Z6 h! G9 n9 W# ~3 _$ P9 Evar Memory = xdc.useModule('xdc.runtime.Memory');
* ]+ X" ]6 S9 d6 Z1 uMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
; }0 N& `3 \7 `; Y( ]& Z7 l9 F0 K, U: U- |$ `3 n% L8 U6 J
/* configure System module */, |! J2 @. G3 Z) i6 ]
var SysMin = xdc.useModule('xdc.runtime.SysMin');
& A; D: x# A1 V/ I) I; gSysMin.bufSize = 0x1000;5 m/ W2 y; B$ n9 T2 c! v
SysMin.flushAtExit = false;
- f( l$ n3 z: n. Q) ]$ j
4 P: J. r" a" f2 qvar System = xdc.useModule('xdc.runtime.System');1 r6 B8 g, U. `8 n
System.SupportProxy = SysMin; D. a7 ?+ c0 J! i# O0 p
8 q' ?0 ]% p7 y- p/* configure SysBios to use the lower half of Timer 1 */7 S7 | \1 i, k* g6 {
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');1 g) l; W5 b' d* ]# L
var Clock = xdc.useModule('ti.sysbios.knl.Clock');) t# u; b3 q5 c1 N
Timer.timerSettings[1].master = true;
8 I& T# t4 Y, q3 T2 ^! T- HTimer.defaultHalf = Timer.Half_LOWER;
+ t" E9 @8 c2 ]# e5 S7 \- uClock.timerId = 1;
/ P/ `) n5 c" p6 Y1 \' n; N( `5 g* `, g
# A0 q6 `( L3 c4 @' B# W c' v; N
/*5 ~ u7 `7 P- U! d% U6 v) h
* ======== Miscellaneous Configuration ========
- |1 @ b" b. A+ m: a */+ ^9 [6 ]- s4 O5 X
, v2 j" {2 s0 r* y" S( y: _3 T
/* set default diags mask */
- f* W6 P( T# [* l$ G, S) r% b kvar Diags = xdc.useModule('xdc.runtime.Diags');
9 b# M4 H6 _; O! E3 b5 ^' svar Defaults = xdc.useModule('xdc.runtime.Defaults');
! Z+ k# ~6 v% i" u# p. E M. j; d" `& u9 X" v+ ~
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;- F, D( X+ i* @
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& {& M! ~+ ^( C, x8 \
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;8 X1 I- |9 c% W+ [5 H8 r! O( G
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */5 t7 z: M$ Q' C" _
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */$ Z9 w& f6 i9 C( J2 S5 G. W7 v
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
& I. q/ W* A+ q7 n9 x! bDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;; \9 v& K1 w# r) a$ g
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;. x' {1 w- [! \7 _- [
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;( D" z1 e8 t) l4 [ H- A) ^
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;/ w( z3 X' z' _1 a& p
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
7 G# I4 q9 e" q5 |! g9 X) l) tDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;+ y4 \1 O9 H, ]7 ~' v. C
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
% \$ c4 |- X4 G6 b9 o5 }, P, b3 pDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
# J" u9 {& ?$ U, h& f4 ^8 @
+ X0 @) x1 o$ C8 a" c ~$ O/* override diags mask for selected modules */4 a1 E+ F5 a, S+ h7 _* q' W
xdc.useModule('xdc.runtime.Main');# @- O2 x: o7 Z2 _) p) u
Diags.setMaskMeta(
7 N2 G0 m p( ~4 v "xdc.runtime.Main",
" y* H9 }2 \/ i+ h( t6 _7 L! b Diags.ENTRY | Diags.EXIT | Diags.INFO,
/ B7 h, U8 w# }0 ^ Diags.RUNTIME_ON- [; n" c' O; `1 g, w' @
);
; P. }+ S( B$ G+ u: f% L \5 |: j" _* f8 d' x
var Registry = xdc.useModule('xdc.runtime.Registry');* y# j& ^+ o U, v R. f7 \8 \
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;* [% ~5 D5 c" {
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF; A) g# ?' G$ [1 e, y. J4 w. y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;+ J) O4 E+ P3 x( L
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
6 d5 ]+ @: f& W* A) _
; S, x+ s8 G' g0 [3 B2 P9 t# k1 X/* create a logger instance */
# Q% V$ T+ _0 q- tvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');$ r$ U* k1 M4 T7 E4 T
var loggerBufP = new LoggerBuf.Params();" I# z2 O- t9 y) J# j
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
% o7 U8 T8 F& k* u3 K4 Q% z) ologgerBufP.bufType = LoggerBuf.BufType_FIXED;
& }* M& m' t+ O% \
& P: J1 p- b* g# u, J+ S) e( x# Cvar appLogger = LoggerBuf.create(loggerBufP);9 c% U3 W+ ? P
appLogger.instance.name = "AppLog_Core1";# M; I7 g* M. y: k; c
Defaults.common$.logger = appLogger;
% r$ h- D" o6 Q" ~1 r" D9 |Memory.defaultHeapSize = 0x8192; * [* C& H* [9 @" c: t0 E+ ~0 x
Idle.idleFxns[0] = "&LEDStatus";1 C8 O# E7 k8 v/ L$ G/ X
Cache.initSize.l2Size = Cache.L2Size_32K;
. A; U% D, T1 L% u8 q) i) i- f' T1 a! f z2 w
|
|