|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
" K9 ~) ]6 s7 a, M. Z- v5 p我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
7 g4 _- A/ `& Z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
6 J4 t5 w1 U ]. Y8 Z4 z& F2 e4 f
# f- Q7 c9 \$ [' g. J是不是需要在DSP.CFG中进行配置& I$ ?6 I" `& b+ ~2 | P$ X
我现在的配置为2 k6 o4 w( I. Q2 U# p7 r# Z9 j
* r* h# s K8 K/*4 Z: G+ B0 H9 Q* v7 P* j! l6 ?9 P& l
* ======== Operating System Configuration ========
; h/ r6 x; T2 p */& Y, ?! W- o# u6 ~& U$ o8 e( d
9 W( c7 D* b( s/ q+ Q; `' I0 ?# E/* no rts heap */
4 g: a7 y9 m1 H, q5 H% t z9 ]( Z. vProgram.heap = 0;
s& J, L0 q+ [' _3 W$ i. S0 @) TProgram.argSize = 100; /* minimum size */
- t4 ?! F: Z7 h1 N! gProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大* x# r& t4 w% Y$ Z+ z0 x
' X( u5 J0 e; m5 n Y
/* create a default heap */( d* `: u \; f% l4 C6 d# m
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');2 [% j9 A: r6 d1 R& @2 n. B1 }
var heapMemParams = new HeapMem.Params();- N5 ]) J) e/ E) x3 o' U! o, N, ]- V- z
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) r5 T! M7 i6 }; P, F
# C/ U: n, Q4 E) w. a
var Memory = xdc.useModule('xdc.runtime.Memory');
2 K" X& Y0 E3 t2 m. U( h6 S! ^Memory.defaultHeapInstance = HeapMem.create(heapMemParams);; n9 z% F; I v0 F* R+ Q
+ V# [0 [$ a$ {; m4 L/* configure System module */
" ~7 S4 U2 w9 @$ yvar SysMin = xdc.useModule('xdc.runtime.SysMin');, c( O* R5 B; j! P8 I
SysMin.bufSize = 0x1000;
0 R0 {# z- n$ bSysMin.flushAtExit = false;2 R, x. ]' U$ h
# s; Q, n% U' l- G$ ^: F6 M
var System = xdc.useModule('xdc.runtime.System');' v# A9 A* l$ I( _, e# C
System.SupportProxy = SysMin;
+ A! M' O8 }" R& U* A. c5 f6 \3 G' D! i W: W$ O9 y9 h
/* configure SysBios to use the lower half of Timer 1 */
% R. B1 F$ V4 f( X3 V5 [0 [! Q) nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, [. d. u5 t, `) y1 w0 C) z
var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 K( V4 z2 _ F, ?8 `* m. q
Timer.timerSettings[1].master = true;
7 V2 t4 D8 z) [; t0 C4 Q1 PTimer.defaultHalf = Timer.Half_LOWER;
, D% a4 b$ C6 S. a' o, t9 wClock.timerId = 1;
, u8 [( x/ R' i P3 o( ~
4 Y4 L F% F" S) I* i1 P! ]0 Y/ \
/*
: ^# W1 X+ R. [- J( i1 k * ======== Miscellaneous Configuration ========
$ ~* ~2 Q+ s& w: T* Y" `5 w */
9 _: U% j/ Y7 o
) b3 o1 X& [: l0 [+ w5 n% x2 D/* set default diags mask */
* D" v' C v- |* U( Wvar Diags = xdc.useModule('xdc.runtime.Diags');
* ^8 B- g! _& Z R& E3 W% b8 cvar Defaults = xdc.useModule('xdc.runtime.Defaults');
5 m# [8 n2 z1 x, D$ X, D
6 z% ~$ n! o" H" }9 HDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;" B- o) z1 ^! i% @* O4 j' |
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& g" k+ `! E, n) i9 Q6 D0 ]3 SDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
9 w/ c1 [( R) EDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */& ^4 w) Q. w9 x! P( I
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: f* Z0 A. s r2 k
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
+ G/ p* b) l E) u3 tDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;" d# K$ M3 g3 |* S+ B% f) z* x; ^- c
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;: d7 g4 ^( r: M0 D& p
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
% h( F! ^: D9 X/ l6 K; M) }Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
! W- l: n7 L; gDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
2 t; k; _6 G0 ?% Y/ X. L) tDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; z7 v0 L# l8 r* I/ S% \
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;' `9 T: N8 j2 `( }
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ q" g- S; T2 [8 ~8 s: A- m* C" P
/* override diags mask for selected modules */: b8 o2 i! `1 m- w- s$ A& x
xdc.useModule('xdc.runtime.Main');+ U, _- R6 W/ h: r) M0 Q1 o6 r
Diags.setMaskMeta(
3 d, p9 {9 J! K) o8 m. E "xdc.runtime.Main",
+ E' e* s# a3 G; ?; y" ~ Diags.ENTRY | Diags.EXIT | Diags.INFO,8 ?; I& `9 k( U8 f+ a; w
Diags.RUNTIME_ON
* e, E2 L+ ^$ U% d);
6 K( Q8 r7 t$ k4 A' |9 W7 D$ c% ~, t: E9 Z) E# H g1 R
var Registry = xdc.useModule('xdc.runtime.Registry');, n8 V) {* R" F2 s0 _, r8 R
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;. c2 }2 f* O% b8 A' j/ i$ o
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;0 K- s- ~: j8 G
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
6 ^1 z! a: n. R ^( q' \Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. f1 B. c& i( g: E
/ K- Q) F6 B% A7 @' A/* create a logger instance */
7 K0 C! \" V+ T2 M. q5 ovar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ \: p! m \! `6 ~& N/ h! y
var loggerBufP = new LoggerBuf.Params();
- g4 i9 y3 i2 O; F, ^; JloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
( F2 H; S' E. o# \" @loggerBufP.bufType = LoggerBuf.BufType_FIXED;/ y: T' q1 U' R0 M: e, S
9 k0 j4 F9 O* uvar appLogger = LoggerBuf.create(loggerBufP);
& Q- y! o0 M& P R; }appLogger.instance.name = "AppLog_Core1";! V; Q% k. G9 j5 O d
Defaults.common$.logger = appLogger; \7 p" @: s8 J, \: I
Memory.defaultHeapSize = 0x8192;
# `' j- l. C: f1 I0 ?* w1 u/ IIdle.idleFxns[0] = "&LEDStatus";. ^2 T; `3 I9 } H
Cache.initSize.l2Size = Cache.L2Size_32K;2 E/ |, U. n" ]8 e' ^: O" b( u
4 u2 W% Z8 v% ~ k
|
|