|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
6 d4 n0 n: G) `7 W我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! B, a- u/ i+ q0 e
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
: b) [4 l$ T9 j# o
3 z; ]$ e5 ]) l6 V+ b. c是不是需要在DSP.CFG中进行配置. M' \8 x \3 v- O4 s, z
我现在的配置为
- G4 J) t; W" l7 E5 F3 y- P
( E" p% q$ r1 j7 s9 z/ j/*1 I r' s) ] m j0 \
* ======== Operating System Configuration ========5 Z7 L; x1 ] L' ]7 v" b1 t
*/
2 P$ D+ j5 @) l! k* O. @
. H, [6 d/ A$ `& m& b* O8 [- C Y/* no rts heap */
& Q0 n# o8 Z/ C( ?/ qProgram.heap = 0;: e8 A: T8 V$ H% T* A2 h
Program.argSize = 100; /* minimum size */3 W9 U% a. j# C1 o5 k3 F: R
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大$ _* d" C3 d4 R8 H
3 x( S8 Y; X' x/* create a default heap */- p+ t1 t5 h1 n' A6 |& K
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
) }: F+ k; C7 e% A5 c$ L! jvar heapMemParams = new HeapMem.Params();" ^& j4 y8 b8 s1 T" Q
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. s3 n, }% D# w
1 N) N8 B- |- Z' y. p& Qvar Memory = xdc.useModule('xdc.runtime.Memory');, Z6 h4 y! W4 b" H' u' t
Memory.defaultHeapInstance = HeapMem.create(heapMemParams); ]/ j! W, ^+ a _- w
. `" V% u! X+ H+ N9 U/ z4 @/* configure System module */
* r9 x2 r+ t' M! w$ svar SysMin = xdc.useModule('xdc.runtime.SysMin');0 ~" L& ?# f, ~# f' Z3 N1 P. H4 D
SysMin.bufSize = 0x1000;
6 p, Q( c+ @& E- S3 Q8 T4 r/ GSysMin.flushAtExit = false;
+ j! T6 c' M& N% Q1 P8 t
& V+ w1 L" f8 w9 y8 W" v5 H9 Mvar System = xdc.useModule('xdc.runtime.System');
3 n8 J# }* R% }/ P8 c3 MSystem.SupportProxy = SysMin;
! H. r2 K" c9 j+ j& `4 R! J; x5 H! H7 g5 j [
/* configure SysBios to use the lower half of Timer 1 */1 d# P: M6 M) [' P
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');' ^; R# P; K# ~2 }$ v
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
" K1 b2 K. x) G2 s" M: i" fTimer.timerSettings[1].master = true;
& U% J% u% ^ l8 KTimer.defaultHalf = Timer.Half_LOWER;+ P! }8 Y7 T+ Y
Clock.timerId = 1;
2 Q, W! ?% W! H+ ]9 [* M9 u2 J& w2 s5 b$ d: I7 @' U; a3 U
+ k* o8 e. ^' x1 T/ b
/*' D! @- P$ W0 Y9 X% `2 t
* ======== Miscellaneous Configuration ========
; y$ ~; |6 k" o9 V+ B" A* s5 m) o */
1 B1 ~$ Y5 w! l& }& _5 S8 W1 E7 Q+ R' X' w0 f$ e& ?5 t8 x6 u( L' g
/* set default diags mask */
8 @8 t( ]1 H' S, Z: ^8 z6 a: ~$ ^var Diags = xdc.useModule('xdc.runtime.Diags');
# W& S) y* a8 v9 \: N+ Q1 t0 J E) Svar Defaults = xdc.useModule('xdc.runtime.Defaults');
7 t$ v- l7 J2 l' I n$ |: ?
; E8 R' L$ c& gDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;& T! a/ B: d4 y/ k* y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, V$ E3 K% s, \/ TDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
, E: |& Y1 d% ~( s) S# TDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */2 Q0 r* \3 g. l4 D4 ?% A
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */4 x, v, ^* ~) y7 r
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;- h9 a+ t0 }% @8 C" w
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
6 c, r/ J6 b R+ {0 iDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
" p+ G& a" N6 q4 k( Y( M/ o- nDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ U1 @3 _7 A6 F. ^) U6 q' f. rDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;8 w! s& ~, k+ Q: a
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;* z( p% d8 }" T* q8 K! a' d
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;* {4 h. o, G$ X9 _
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;# l# k; Q4 V: e3 E S9 ^% t& M
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
% {# b; w$ W3 m, u7 C6 b! S( }4 h% K& `0 @) w" [. c. L0 q
/* override diags mask for selected modules */& h! M, q9 S- M/ h+ s
xdc.useModule('xdc.runtime.Main');( ~4 f4 @1 v, x2 |! }/ H0 O# T1 i
Diags.setMaskMeta(
# r% P+ B) l/ ]& j "xdc.runtime.Main",
% X1 v9 D" }# v5 ^- m Diags.ENTRY | Diags.EXIT | Diags.INFO,9 H% O3 C5 A ]/ O
Diags.RUNTIME_ON
' b9 T% ]+ f& \6 D/ j);/ r7 x% R/ \/ p# h/ K
. f( w A) D/ d: @, f; s- @var Registry = xdc.useModule('xdc.runtime.Registry');
3 O. }3 ~. ]' d6 F) hRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;5 |+ P' t) z3 x7 e: Z5 [2 L
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF; @" S6 c; E" x" s
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;% r# s' h5 E& s8 V
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;& |: h! `/ Y! ?# P% T/ W. K" S
: r. s" d* r4 P4 b! C
/* create a logger instance */
3 q+ t! r2 @, k ]var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');2 T0 Q: C$ C! l% {9 K: x
var loggerBufP = new LoggerBuf.Params();( G0 {( U3 Q) ^4 L' t+ v
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" S7 c# p, A* K* K4 x8 N
loggerBufP.bufType = LoggerBuf.BufType_FIXED;1 H7 g# r$ q4 o) o
! \0 h/ G! ~( p2 j) a$ Q" r E; E, f
var appLogger = LoggerBuf.create(loggerBufP);
: P" i+ m' E. w8 i8 C! S t! LappLogger.instance.name = "AppLog_Core1";
0 h2 W# L, p- i6 v* gDefaults.common$.logger = appLogger;
. y6 s. ^: O- b* n$ IMemory.defaultHeapSize = 0x8192;
0 T8 d" k$ q8 x: r- ~6 [% I! y' aIdle.idleFxns[0] = "&LEDStatus";
# R5 r4 K: r* h) qCache.initSize.l2Size = Cache.L2Size_32K;- @! D6 P1 n# l! f) y7 |+ F
; p' c, G# S9 ~* B# G) r
|
|