|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 |) b( K( Y0 \' o. F我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' k: F% p* r, f! w, i(不过疑惑的是,为何单独DSP仿真就没有问题呢?)- R+ b: [% Q1 Z t) f: D+ n
" [! ]% D+ b8 w/ H& R
是不是需要在DSP.CFG中进行配置! a0 S0 S% Q5 [
我现在的配置为4 v/ n( S. R2 [% n7 t* h: p+ ~1 \
B/ n1 o/ _6 |$ q( ^/*$ Q& z! r' t% G8 X }* f9 q1 g; h s
* ======== Operating System Configuration ========. ?" N# R* o# x* K# R1 X
*/9 {5 M) ] q# E3 [0 G5 |3 Z) C
. ]# f) R2 u9 W- ]
/* no rts heap */
5 P. L; C8 M) M- L7 w! @) rProgram.heap = 0;
/ E' n" \& s9 b( E, oProgram.argSize = 100; /* minimum size */* N, e1 m, \( l) V2 y+ e
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大( P3 E6 U1 W( G
9 U9 v6 |4 W8 C* C$ W& C) K, i' Q
/* create a default heap */! k8 j8 r0 j9 [8 E3 _4 ~' u+ ?, z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 W# A' d" R6 a6 J2 T. ?
var heapMemParams = new HeapMem.Params();
0 ]( C' v; }! c: P2 U! @! Y' N/ ]heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
9 G# q7 V7 [0 M1 E# @$ U& A+ ]$ c9 P' F/ W$ f1 j$ J- H5 p; t/ p
var Memory = xdc.useModule('xdc.runtime.Memory');
{6 @; F! ^. B; uMemory.defaultHeapInstance = HeapMem.create(heapMemParams);* w) k+ v6 |* l! n$ M* i
8 D$ l* X& v: P0 G1 K" ?/ a/* configure System module */
. x# l' F- x: c$ m" kvar SysMin = xdc.useModule('xdc.runtime.SysMin');
8 k; o, o: S P9 D' ]3 [SysMin.bufSize = 0x1000;
+ O& I% V# @ G( r7 H0 USysMin.flushAtExit = false;
4 j; U1 |' {% z- Q+ X' z- U! j# z) R
var System = xdc.useModule('xdc.runtime.System');$ [3 S) I* r6 d0 ?
System.SupportProxy = SysMin;
$ T' K% y* \7 \" I1 R, Y/ i, o: O" ^# I# `* x7 P
/* configure SysBios to use the lower half of Timer 1 */. j$ O" J# {/ x/ p
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
7 m$ y; a, H2 D6 C8 z* \: E1 tvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
v0 w9 E% q) uTimer.timerSettings[1].master = true;/ l: ]( E- f+ W. ~ V F
Timer.defaultHalf = Timer.Half_LOWER;
% _" C, q) \6 v/ x% u) MClock.timerId = 1;0 i7 A y p* e, u8 a
8 k( I" y' |+ x8 ? f
# F' K: I) J! ~% Z/* X# T* S8 H9 b- U5 e
* ======== Miscellaneous Configuration ========6 e; K& p! w% z2 c3 ~
*/
" z- f- @. B% i/ [9 C5 u8 G P- _8 a2 C6 G7 p
/* set default diags mask */
1 |2 R2 d) K6 b& x, kvar Diags = xdc.useModule('xdc.runtime.Diags');
; N1 B) ]& n1 p" H( G& Rvar Defaults = xdc.useModule('xdc.runtime.Defaults');$ ]7 X. F' n# t
- x8 ^$ C; O# g. I% y( K$ u
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: i4 |5 e u' s, c
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;+ Z% w7 N# f' f g G! L
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
, E5 f# ^% F6 t8 [1 p+ ?' |Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */8 h1 [0 z0 r' d1 T V: G
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; ?7 Z H; I! f( f( r HDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;. B9 X! U1 _5 r9 h0 {* R+ x
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;# z; Z4 p3 Z$ s0 b# q
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
- _ H- S3 g) SDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;; U4 S. c' h8 |
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: o! s- `/ y/ xDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;; v/ e% e" Q$ C# j u% t a
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
/ J: ]1 e7 R" s2 U* Z9 UDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;5 ]- A4 d" b3 j
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;/ \0 i' i% N3 w. E% \+ z
0 Q. ~: _* V" z( g* Q* c4 \/ I% D/* override diags mask for selected modules */
0 M& A3 l# G6 |# q. xxdc.useModule('xdc.runtime.Main');
. h+ [# S2 A1 ^ S' ZDiags.setMaskMeta(
6 ^2 G3 l) G ]- _& o) T1 y h "xdc.runtime.Main",
5 U4 W% @) V- A" z) v* n. L Diags.ENTRY | Diags.EXIT | Diags.INFO,
6 m2 N" ?* v. r. f. a2 ? Diags.RUNTIME_ON
5 e4 x2 L& @, C- C2 N);1 \2 F: p$ y. X$ t" Y# ]
$ ~$ r* C) d1 ]; R$ G- I3 hvar Registry = xdc.useModule('xdc.runtime.Registry');
3 [) L& h) a4 ], VRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
; s: e( b5 M3 V7 {% f0 J: TRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;9 \4 Y: y) W0 ^) ?: o% }
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
$ K/ Y$ f- y+ E6 h: M2 yRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;# L" B5 \* \, n' E# L9 C! ]2 l& k7 m
' _9 H6 e( X+ D+ e/ f ~" V4 e
/* create a logger instance */! e3 P" ]3 }% H, S% u5 |0 V
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
$ X: Q7 E) y( l+ E/ u0 e$ Xvar loggerBufP = new LoggerBuf.Params();+ K( b( ^- v* z+ v
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
/ Z5 q: L; s& u- tloggerBufP.bufType = LoggerBuf.BufType_FIXED;
; R! p3 ~' {7 j; |1 w. Q
; Q B0 J: Z1 e* Zvar appLogger = LoggerBuf.create(loggerBufP);5 m$ e8 g( k" ? `! d" i1 O) E
appLogger.instance.name = "AppLog_Core1";
7 U' A8 }5 f9 KDefaults.common$.logger = appLogger;
* d1 x) g7 ?( A$ l$ O/ hMemory.defaultHeapSize = 0x8192; ; G* }, Y- D$ Q6 I* }1 A
Idle.idleFxns[0] = "&LEDStatus";
; K# Y7 S5 T. U' K/ ACache.initSize.l2Size = Cache.L2Size_32K;/ a$ a/ m# Q# P. h2 o$ D* P3 [6 h
* Y' H* i4 R I; a! c6 d0 G3 I |
|