|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
/ m% x6 q8 K) x# w: v2 p我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下1 [/ D! S% C/ r* R: r
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
# a! V* `/ E- }' T" S
) a- o7 z( V/ `2 U) p是不是需要在DSP.CFG中进行配置
- j" F) H0 _: d# K( M' B我现在的配置为7 C( c0 p4 R8 Y! E5 u7 d
3 J/ c: L8 |' J4 Q$ j; U- p/*
! r4 L- [; M# I% Q6 x% X * ======== Operating System Configuration ========
) S$ M+ t! J8 \$ L */# U6 Z: T, N! d9 |0 _( y) N( O
. M7 V% `) W) W0 q4 u- q: n/ T/* no rts heap */
: P6 U; d& {: {+ J6 x" [Program.heap = 0;* [' {3 U0 ~3 `7 J3 j6 E9 s( H$ Z
Program.argSize = 100; /* minimum size */
5 L" f! U6 g% D; \3 W- jProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
# g6 i. U* ^* j, Q& y
% S0 F$ A J+ z2 ]4 t/* create a default heap */ D( S, f( t+ T" F0 W/ o1 \$ v
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); o/ E5 R* ?7 a+ x' A
var heapMemParams = new HeapMem.Params();6 u) e" a6 t3 j. f
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
) w7 ^- Q8 ^8 j4 |0 O, Z
, K# ?/ A) I- {0 h7 C# ?var Memory = xdc.useModule('xdc.runtime.Memory');
5 W$ G" y k7 ?9 QMemory.defaultHeapInstance = HeapMem.create(heapMemParams);# ?! X7 o" Q3 p. \
5 G, i4 n) b& ^, ^4 O6 ?3 j/* configure System module */, s' v G8 Q7 }0 J; Y( ~
var SysMin = xdc.useModule('xdc.runtime.SysMin');
* x7 G$ i4 ^" @* j0 mSysMin.bufSize = 0x1000;
6 O1 B6 G. I# M" i: h, Q" GSysMin.flushAtExit = false;/ G- @7 f: t: _7 J* ?2 {
3 [4 D% o. Q- `" p
var System = xdc.useModule('xdc.runtime.System');/ K1 G8 J3 J4 P0 F1 B' \4 ~
System.SupportProxy = SysMin;
5 h: `' y; f2 ~/ M* Y& s+ l" z) K! O# ~. l
/* configure SysBios to use the lower half of Timer 1 */' V7 e! E: t8 [6 B# ~( L& {
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( B4 S! s! ]' i0 S6 [$ i
var Clock = xdc.useModule('ti.sysbios.knl.Clock');, x4 \6 B) J% V
Timer.timerSettings[1].master = true;
) L% t, ]' R) aTimer.defaultHalf = Timer.Half_LOWER;* v( B; N$ c+ {3 f4 Z1 {
Clock.timerId = 1;
' _; i3 C( G" g# P3 z: U7 h
: d/ {$ _$ m5 ]# |8 C
4 \ x K* `3 [, |( j: v% g/*
, m3 w- v' i3 K; w * ======== Miscellaneous Configuration ========; ?: Z' P; i9 L) F( z- r0 |. R
*/0 Q- u3 G G: M+ u3 ~
" u0 G5 |0 e( a9 j/* set default diags mask */" A6 c0 ]! w7 j
var Diags = xdc.useModule('xdc.runtime.Diags');* p3 E0 U% }" [
var Defaults = xdc.useModule('xdc.runtime.Defaults');* B% i( u$ w* _2 B! n. b* x
' ?- g2 G' a* XDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
4 T6 Q7 }1 l; qDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;- y( j5 J* J7 B: @1 x0 P* L
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; @& \4 w4 t# ]1 D$ s! IDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
' H7 x' I/ K, tDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: _1 @+ q+ i) W5 e0 }; M+ n6 t) {; R
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 f& {* N& c& R; m! G" V* aDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
% z: p1 G, d7 _" r9 @& ~ b( _) JDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 m, V4 G% t( h. b, ODefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;$ g8 j/ m) z6 R
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;4 }+ s2 T8 @& k) E( C Y; C
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 z3 m. q2 d- C0 \Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;6 D6 k3 |8 C, m9 w" w
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;3 U! F' B+ d9 _% p
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
& \9 [ \. | l7 W: x% }9 H3 l6 c5 d4 |# f/ A, K5 S
/* override diags mask for selected modules */) M% i% o& U( o! |1 T$ s
xdc.useModule('xdc.runtime.Main');
- h, {% n) Q+ G; eDiags.setMaskMeta(
( @! u% Z2 G9 [' b1 C "xdc.runtime.Main",( S3 @+ @. M, x* B) i
Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 m* }" f* ^6 W' ?! {, _8 N5 G7 G Diags.RUNTIME_ON
7 V6 q8 S P& _, u7 u);: A; x% @! A; E# g3 G/ Q9 V! m
) G# {8 T8 x8 H& nvar Registry = xdc.useModule('xdc.runtime.Registry');
3 e- n- o2 W) M/ x$ v& u' V. }, m- XRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
# {8 R `# t$ S6 V& N* LRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
' C. z. [) w3 [' W GRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
7 C- T3 e9 g! J0 ?+ C! }, J, ZRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 l' n/ \) p4 r5 Z$ v
* U" i+ o! {* X* R! A! z3 l
/* create a logger instance */
& h" f( z7 R$ Z3 yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& W9 G5 f% c" `1 z3 _
var loggerBufP = new LoggerBuf.Params();; d' g) k! ^7 C6 Q' ^) F
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory *// T& ^, l1 @0 f: S+ I& {
loggerBufP.bufType = LoggerBuf.BufType_FIXED;6 O0 }+ B5 b0 }. x* N4 R
6 S" f# w+ E1 f3 v3 h
var appLogger = LoggerBuf.create(loggerBufP);
6 c- {: r& }8 p; i4 w: T& @appLogger.instance.name = "AppLog_Core1";
; H2 C! k4 R, M& _: N/ y3 R- QDefaults.common$.logger = appLogger;
: O7 L3 D0 c% P% |Memory.defaultHeapSize = 0x8192;
( {. k2 t9 `- A, B; [ G" {, c5 ?7 GIdle.idleFxns[0] = "&LEDStatus";/ l4 _) k2 p2 N1 F, |
Cache.initSize.l2Size = Cache.L2Size_32K;
( f8 j$ c; K( y; z. [, _0 |9 j1 B# M3 |) e! D
|
|