|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明. g; J' ^, x1 ~9 i# a
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
; w7 V, {/ N3 o5 l* I/ Q(不过疑惑的是,为何单独DSP仿真就没有问题呢?). L' C" b4 L4 E3 k
* L8 c( n: J7 ~ e- a是不是需要在DSP.CFG中进行配置
- A: {% a- P O& n我现在的配置为
7 S* A( q2 K, a1 X( s7 a+ l& o
3 k: Y; l! X! |3 m# s/*
* c$ U! {3 ^ j * ======== Operating System Configuration ========- ^) H+ o% W- |2 B
*/
$ C& f4 P4 L5 O$ H
7 i, k- f/ o0 y3 `8 W+ h/* no rts heap */: V" ?# H( i, t. G* G. D7 G* r6 d, R
Program.heap = 0;- K% b1 O9 }' f! V0 A# _
Program.argSize = 100; /* minimum size */
% J' Q, b1 O! U/ VProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
6 P3 z, L, W2 [* J- } x/ }% Q( ~1 G% `; E/ F$ @2 Q2 F2 B
/* create a default heap */
$ w; x' @6 g$ G) C5 Evar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');9 Z4 b: D% [# ~- z8 ?& T' Q
var heapMemParams = new HeapMem.Params();* S3 a K% t$ h ^7 A9 q+ f
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
1 a5 g5 w6 f0 X! l) K9 R, }$ V* F. o. @* \
var Memory = xdc.useModule('xdc.runtime.Memory');
" w+ N$ s0 d. t1 e f! oMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
( h9 e/ ]0 C9 Y6 e& C6 S
2 P% ^* `0 {) U! L5 a/* configure System module */
7 ~. O5 J+ X' a0 m1 X9 ivar SysMin = xdc.useModule('xdc.runtime.SysMin');
_$ D0 y: x/ g w3 B" \* oSysMin.bufSize = 0x1000;8 H* [1 K8 c+ e; u# c! X( t I
SysMin.flushAtExit = false;
2 E% }, m" m7 |; {7 p3 D" H1 s" s; A0 o2 F7 B
var System = xdc.useModule('xdc.runtime.System');
2 l' x s3 X+ H8 C6 [8 f1 \* `System.SupportProxy = SysMin;0 {# i$ N4 `6 I. I9 ]
3 _7 q: \; Q4 s6 c8 P' T/* configure SysBios to use the lower half of Timer 1 */
9 _# M; @ L" w9 c% W. ~8 Kvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');9 c/ \9 o% `. A4 }8 o$ n
var Clock = xdc.useModule('ti.sysbios.knl.Clock');8 t' a% Y, _% K* g! r
Timer.timerSettings[1].master = true;2 b9 q5 C- O4 t
Timer.defaultHalf = Timer.Half_LOWER;' H8 q' l1 u/ V6 \; e- n
Clock.timerId = 1;
) Z/ M# s& }7 D8 d, c! T! \0 N" u; w/ }; ^+ }3 k" n2 Q
* h: x5 M% V1 B/ L
/*
% F Y5 ?& D5 s# \- Q! Q8 W" c" Q) Z * ======== Miscellaneous Configuration ========
( n8 `& G* a0 a7 o+ B */
. _% [0 R/ d/ |7 q# s S( P6 V0 v {
/* set default diags mask */
# s U+ F b% \$ ^4 l# e% rvar Diags = xdc.useModule('xdc.runtime.Diags');
9 z' W8 {7 U) [var Defaults = xdc.useModule('xdc.runtime.Defaults');3 F' [& q- d0 F5 X& u: W
( V6 ^7 d; I$ n' eDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;3 G, b* u! ~5 b" z" S) U7 h0 v
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;2 t) W, Y! }1 |. q$ z6 Y
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
?% r8 ^/ X0 ~6 ?+ _) R" wDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */+ E5 E# t0 [+ |! `3 v# g% g
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */) M4 _" c# R, D( U2 D! y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
5 L* D& F: H) x# {; W6 `4 TDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) y8 \ Q0 j& i W+ P+ Z
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;# e5 O% L* y+ B- r2 c4 u3 e
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 D8 N' k1 T0 _* q1 ~. M
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
* E4 {2 h- A4 H3 u" |) d9 t Z" WDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
' p* ~9 a1 v: H6 |/ O& lDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
/ j7 D, `. |( L4 U4 k9 W+ U# j, dDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
3 w( O, C# O4 a: E7 X* Y7 wDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;3 ]3 ^$ j/ z! _- B c1 k5 \
, b0 d6 u% d: `) T+ d% ^) I/* override diags mask for selected modules */
2 a6 U3 P$ Z# Q6 L n5 b# D# z; gxdc.useModule('xdc.runtime.Main');
: }' k% m! Z! gDiags.setMaskMeta(8 E+ a4 s/ x. h3 W, Z8 ~
"xdc.runtime.Main",
' X- }: Y8 y- }" {. }' w Diags.ENTRY | Diags.EXIT | Diags.INFO,+ n! ?# C x# V& ~$ M
Diags.RUNTIME_ON) |* Y8 A, k+ ?8 Y; `! g( Y. M
);
9 J0 f( V- N# a
( r" k( G3 }4 |' dvar Registry = xdc.useModule('xdc.runtime.Registry');& O7 R; o$ R1 h
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
3 e' m3 B+ m- c2 g& wRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
1 R: `" r: w2 V, W4 gRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;( R2 j2 l6 M/ n' f0 K" c
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 B' L3 w+ [1 L% }+ S1 A# ^+ E3 ?
* b: H1 Y4 f& `. B+ m8 r
/* create a logger instance */
/ P9 \3 a4 h3 I1 v+ vvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');* U b7 S Y( q; P
var loggerBufP = new LoggerBuf.Params();
2 a' E* G2 C( [7 A0 x, ?) FloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- S4 l4 d5 s/ u4 K' g! Z
loggerBufP.bufType = LoggerBuf.BufType_FIXED;" o! d: b9 H5 B% h
h# g6 j8 D( f$ x1 gvar appLogger = LoggerBuf.create(loggerBufP);
9 D) n3 L$ p3 u4 J9 N' x6 C! tappLogger.instance.name = "AppLog_Core1";; w% B Q7 F1 x6 l- [" f
Defaults.common$.logger = appLogger;
6 w8 z; q! }( k' e j) y! wMemory.defaultHeapSize = 0x8192; / T" T" F$ Z+ ], t& X' g
Idle.idleFxns[0] = "&LEDStatus";
; u! f1 t6 u7 O! L: K2 R7 v' _Cache.initSize.l2Size = Cache.L2Size_32K;8 q$ I y" \- z/ ]- {) A! T
6 F# T2 ]1 R$ s3 L8 w5 ~
|
|