|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( _1 ^/ m. Y: i& c2 Y我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 e* z4 K" k& E4 R5 g
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& o: c" u+ y* G N0 b) d
5 w. Y. V9 Y2 G, j7 b& j$ s6 h+ E
是不是需要在DSP.CFG中进行配置
7 \5 a0 r$ H: s* w# O我现在的配置为8 Y' k) F- w s% T' N& H
4 A- g$ w; q l) I) z4 v/*
; B4 B/ W# t9 | q3 \3 c * ======== Operating System Configuration ========
8 q. W& g- I) E. V" c4 c* ]+ E */
+ w2 ^* }0 {3 H2 r) S
% {8 r- L. } D, \9 s- H; d/* no rts heap */
9 H0 H) i6 A/ B% _/ R4 X) TProgram.heap = 0;) m8 k1 T* b) N5 _6 j8 o" V: I5 s
Program.argSize = 100; /* minimum size */! F& n9 C2 P6 F; C
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
# M9 I; C, v6 m! L
3 p0 G1 v: T# C% H4 N y1 y/* create a default heap */
6 {2 f) e% }3 a9 {8 l% {& ?5 n9 Uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
/ k U/ @, }3 ^0 ^/ s9 A9 _7 F1 ?var heapMemParams = new HeapMem.Params();2 p% q7 m7 u' e
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大8 Z f1 \) x4 U; J
+ Y1 F# {4 m& g" ^6 [* gvar Memory = xdc.useModule('xdc.runtime.Memory');: m8 ^0 c: E! M; J
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);; ]9 j+ G6 [$ R/ k& _
8 \* j( q# T% ~# T$ n6 W+ ?- E/* configure System module */0 v0 ?$ y; `0 o# J9 @
var SysMin = xdc.useModule('xdc.runtime.SysMin');
& W! D( F0 b5 v! X& bSysMin.bufSize = 0x1000;4 ?. w& U8 S1 {; V
SysMin.flushAtExit = false;
: V$ ]& n* w% @# Y. `2 A& n' |* M/ o a
var System = xdc.useModule('xdc.runtime.System');
/ q: h2 z; P3 r {0 G) s" eSystem.SupportProxy = SysMin;
! m/ @, F4 k" A/ B0 [- @& C) k7 y2 L! j; p& l1 {
/* configure SysBios to use the lower half of Timer 1 */
' ?$ T2 x1 z8 o+ n9 } y; J& r6 |var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
" x6 q) q9 i# U5 ~, Zvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
4 I' H, n1 [8 ~. S2 D( Y2 m8 KTimer.timerSettings[1].master = true;
7 S& L% w w8 ~$ FTimer.defaultHalf = Timer.Half_LOWER;0 H+ ? X: ~' C- x; c( H
Clock.timerId = 1;
# p5 a3 V* i( b% T+ u% j
2 ^1 w5 A o, D4 y( {
- {# V6 J! K% W4 t, B: e/*$ K Z" B; E6 O1 L7 [5 r0 m$ p
* ======== Miscellaneous Configuration ========
( E, V8 g1 T7 A s; p- t( y, @" Q1 b* k */5 s) u/ v$ h& G, Q4 o! m
- S4 x' `: R" }9 S$ V$ X2 P) J5 X/* set default diags mask */2 B. Q+ y$ s) n
var Diags = xdc.useModule('xdc.runtime.Diags');4 r3 \- P: e3 H/ b8 X$ d% V q! b
var Defaults = xdc.useModule('xdc.runtime.Defaults');
6 c" H3 C! X0 p! [ i5 x! d% q; }4 v# u) K" p5 q, N4 h
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;# [( P0 m# a* d1 s3 g
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;. Y- s7 h- [! Z7 e, D# } }
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
! J+ w2 @& w! n% z4 s @Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */( ^1 P( h0 [$ I, r
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */5 ]) b/ C0 o# y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
. u% m' T/ J0 C6 B* m9 |& F: x$ R wDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;8 R `- K( {) K5 Q1 W
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: R" ?- ~, ]0 |$ qDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;6 X2 \# w- w+ q# O# d9 F) b3 D
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ f' P" ~: P: D1 aDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! y8 z9 _ z) YDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;0 A- I# q/ u" _3 i8 {- {0 d
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;+ Y, ?9 K5 Z, I" {6 l
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
$ A2 s1 ~6 _6 b3 }" D: a6 ?2 C8 ^+ G
/* override diags mask for selected modules */
7 A( D: F7 L0 \; ]& d$ V: gxdc.useModule('xdc.runtime.Main');, Z+ u5 P7 u( t; a. V. k; M8 p
Diags.setMaskMeta(
6 }/ y5 e7 A2 R; Y "xdc.runtime.Main",
9 S, P) b1 v5 _ Diags.ENTRY | Diags.EXIT | Diags.INFO,0 R* C* c- `/ f% q
Diags.RUNTIME_ON
/ Q2 B7 M: }) l8 P* f, b);
+ Y3 E! S# B7 B2 {* ] y( R5 R
var Registry = xdc.useModule('xdc.runtime.Registry');
; g5 a8 W# y4 X. u* q/ U, |Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
* o; {1 q0 X0 m- n7 dRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;# y+ ^3 X, z% U* _1 w
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;: [+ _& Z- P6 f/ Q( j9 c
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
! Q+ D" @7 S8 q: e$ g2 k3 b8 p) x
. _: s/ t# T9 R2 J# \- P/* create a logger instance */7 z; b/ G: H3 p9 J& v
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
S- B; u" w% e3 S: Bvar loggerBufP = new LoggerBuf.Params();8 J+ w8 X& p5 T
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */+ h6 y, @7 P" z" j( Z6 @# I
loggerBufP.bufType = LoggerBuf.BufType_FIXED;# A' @1 ?7 |: O& l
! s) [$ o* q3 A) e2 O5 qvar appLogger = LoggerBuf.create(loggerBufP);
6 K; u1 D1 |6 ^3 A! KappLogger.instance.name = "AppLog_Core1";
9 v( |6 X7 A, I) j' ]+ QDefaults.common$.logger = appLogger;' x7 Z1 O6 R+ M, Z7 i- [3 s4 p
Memory.defaultHeapSize = 0x8192; - U" s% B! r0 H' e
Idle.idleFxns[0] = "&LEDStatus";
8 `/ {8 L0 Z& I, K: TCache.initSize.l2Size = Cache.L2Size_32K;
- Y; m0 U8 C+ @; X3 @- k. g. ?! j/ W, G+ J
|
|