|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 t J* ^% ~5 ~! x我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下+ B* R) {' x R/ ]4 K
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- m/ i) }, b& ]3 e9 v7 `0 N2 R/ c
是不是需要在DSP.CFG中进行配置
8 P$ y8 T" ~1 x, A3 v6 T( ]. _' B我现在的配置为
/ v2 E2 I/ r+ ?, @8 ~0 y. D
6 I% U: r% |+ y! B; e, Y0 C, a/*1 C3 y3 s2 _8 \- F6 l# n& _
* ======== Operating System Configuration ========
& i4 z* P7 p w- F2 S */6 K1 A2 n3 \8 [. H% `) j* W- k
/ H- I; @, o$ w
/* no rts heap */
( t4 ]! j: |( [6 i4 `Program.heap = 0;# s0 A x/ d3 G" l( ]" u) B u9 G
Program.argSize = 100; /* minimum size */
) h2 Q- O3 R: }1 iProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
+ K# O4 ]& t. Y/ H) t9 l, k1 Z% p8 v0 \6 C5 G# o
/* create a default heap */
0 H% G9 @; k$ ~: v& hvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' B7 O1 D [7 g4 n. ?6 J$ ~var heapMemParams = new HeapMem.Params();
# h* a# t1 y0 t2 l- c2 fheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大0 c7 c0 E# ~% [( l
% _5 h6 m+ i* R0 \2 lvar Memory = xdc.useModule('xdc.runtime.Memory');
) t4 N$ Y1 v% ~# j' Y1 xMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
# F5 {: T; S9 T V9 h& w1 s; T. R/ p. F
/* configure System module */! K# R! Y' m; O$ Q- \) p
var SysMin = xdc.useModule('xdc.runtime.SysMin');
$ Q3 Q" G# ?( M) ]+ b) i) sSysMin.bufSize = 0x1000;
: P1 l( R8 H9 C# K& I% T* U, {SysMin.flushAtExit = false;% Q0 z5 z0 z7 i) W$ T
0 H" g4 N. h1 E& H" t
var System = xdc.useModule('xdc.runtime.System');; j, k4 |: W' ~9 E% P" W
System.SupportProxy = SysMin;
6 v) w Z$ T, S3 P# g) t
' A8 C! J# \* q/* configure SysBios to use the lower half of Timer 1 */4 X- Z$ h! t1 u* O8 ]1 ` R
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( r/ \7 n( M/ P0 j4 K$ F- j6 h
var Clock = xdc.useModule('ti.sysbios.knl.Clock');2 z: m% C) z; Z$ X( o$ f
Timer.timerSettings[1].master = true;+ z7 U4 D c1 S
Timer.defaultHalf = Timer.Half_LOWER;. A) j/ M/ \. j6 H+ D& U" v* D
Clock.timerId = 1;
+ A6 z3 P; F/ s! }0 P
; F! M$ f$ m! K( P9 V8 C: ?* M2 v2 h! _3 P( H
/*$ t, W1 Z. ^* w8 h. K# ^+ b1 I
* ======== Miscellaneous Configuration ========
( D2 ^. @& Y& l) ~ */' E4 K9 t6 U5 T5 e
/ k8 i& C$ s2 m. |) U: G( O/* set default diags mask */
$ E' S2 F( A7 `* ?. m% Hvar Diags = xdc.useModule('xdc.runtime.Diags');' O0 ^# J1 O: e X1 \7 }+ _
var Defaults = xdc.useModule('xdc.runtime.Defaults');, v% R! E) ]+ m( A
* R' c# T# M( H/ o B) R' v/ KDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;0 A( g, m# ?& o8 f
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
* r' y" m! E5 s" w9 e+ {8 O- _Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
0 V3 ?" m+ R9 j2 P% ~9 hDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */2 ^8 M. }# D# k7 s( x+ c& t' p
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- f6 a& Z7 G% s# DDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" b, s' @+ r" H% @4 t: SDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ K o- o. L& E M! U
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;1 N5 D5 Z. u3 k% C# G0 d. q! X; a
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 m& |3 M) N5 B4 s4 H# J
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( O' a$ W& \9 n9 |: [% q4 C
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
+ s0 h" W$ `4 x! S6 rDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;4 S# S5 H# Y. V# X, j e; e
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
, M. j1 L$ r( [$ MDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
: ^$ P& i) A* N
" X+ c/ X2 L: g1 A/* override diags mask for selected modules */
4 W, t: J% Y2 i/ F$ \xdc.useModule('xdc.runtime.Main');! ?# X: H' p, d- z {, _# j
Diags.setMaskMeta() \$ i) j! V/ O6 B B
"xdc.runtime.Main",& K3 N5 D/ y. K
Diags.ENTRY | Diags.EXIT | Diags.INFO," A' M8 {! W4 k' E, l
Diags.RUNTIME_ON" A0 O4 Q2 l2 }$ ~
);6 A) P1 g0 d; g; e. T' ]
3 L/ l X, b/ e" x
var Registry = xdc.useModule('xdc.runtime.Registry');9 ^$ D; v% T3 z% A
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;6 ~# H- e% U' b$ [ b9 [$ T
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF; `- n6 E+ ?" c4 y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;% V N `9 \5 G N- S, {
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. M% A; o! _ x% V- e8 v. v
$ i# A* a; B0 I( F! X/* create a logger instance */5 S+ {; x" L1 W8 k
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
# {) s3 w7 |" w1 v+ cvar loggerBufP = new LoggerBuf.Params();2 b: }+ V; a/ z9 p* ]; g
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */+ [! Z# j- L7 ]- X. ^3 ?
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
( M* [6 F# W: i9 T4 H0 n3 L) v0 S# \5 B5 t: C! [$ |
var appLogger = LoggerBuf.create(loggerBufP); |2 E) d! [+ ]5 E( y* `% R
appLogger.instance.name = "AppLog_Core1";; B* o9 A% J" ~
Defaults.common$.logger = appLogger;) i; r2 { w- R: I1 R/ a& z/ J
Memory.defaultHeapSize = 0x8192; * A) g/ K' R; V1 A, ?
Idle.idleFxns[0] = "&LEDStatus";
+ T1 w' b2 u( r2 I6 kCache.initSize.l2Size = Cache.L2Size_32K;/ L d5 v( J+ O% h' K4 r5 K
9 \2 r: H! v; q |
|