|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
$ X1 t F/ o2 w) ^" X我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下. B# u; F3 Q5 a% ?
(不过疑惑的是,为何单独DSP仿真就没有问题呢?). q/ X$ s* {. c- n' [& @
8 `. @2 y+ v1 k2 ]1 B# U
是不是需要在DSP.CFG中进行配置7 O, r' O: ^- A: M0 R9 ?* O9 G" G' u
我现在的配置为
) I. \6 G, _8 S9 V ]: k
! ^/ _ \% I4 Y% A1 J' f/*
( v6 q3 X5 _. I* | * ======== Operating System Configuration ========3 ~7 P1 z% |. F- P
*/
0 t% V, O* i( @: P8 I
1 S$ m1 q* x& {& o/* no rts heap */
0 P' A" D" D# z0 s) V$ u1 }6 pProgram.heap = 0;6 A* o6 j& b- E s; b8 X
Program.argSize = 100; /* minimum size */
1 j2 l9 m, ^" dProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 k4 [: P# }' \. A! p. C% s) R
/ F3 T1 N E) [( `& a1 R
/* create a default heap */
' h- h9 B9 L7 q, d; Avar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
5 ^7 [) d; x9 p) M) @ p9 Kvar heapMemParams = new HeapMem.Params();
! h. v7 W8 O2 gheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
) @- y+ _1 f6 I, v. o% t
# i( s+ k) N k/ c; evar Memory = xdc.useModule('xdc.runtime.Memory');4 q5 T! b" o1 r1 S) H4 s
Memory.defaultHeapInstance = HeapMem.create(heapMemParams); f x9 Q2 e2 i! X
6 F) n1 A% Z7 ?$ S1 a2 [/* configure System module */
$ w7 F( K" U) B5 i% @' Z* Mvar SysMin = xdc.useModule('xdc.runtime.SysMin');
- r; c1 j9 B% SSysMin.bufSize = 0x1000;6 k. j- a) r ^6 r( x
SysMin.flushAtExit = false;
1 l# \0 l: a- V7 J
: V0 U1 ~; R; U/ I5 w \8 |7 ^4 Kvar System = xdc.useModule('xdc.runtime.System');+ Q! u4 _! i5 d$ l
System.SupportProxy = SysMin;
. Y' _7 A- h3 S8 L! G4 O; I1 R# J3 H4 ^2 X, Z/ D) ?7 O
/* configure SysBios to use the lower half of Timer 1 */* h. O( K: J, N% Z+ ?1 j; U
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
: A" i% d% H& v; uvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
$ H' I( H* G8 J& |Timer.timerSettings[1].master = true;
* K9 H0 W1 B# C' W! jTimer.defaultHalf = Timer.Half_LOWER;6 y# Z% {' n7 _; _, T) g% Q: a, P
Clock.timerId = 1;
- v1 ]! t' @* \# j3 F" j4 d
5 J1 G/ |$ w2 X% B# W: I5 t3 J9 {
4 T+ V# I) m, T& n; n8 m! Q/*8 J* K8 m7 Y8 e* u
* ======== Miscellaneous Configuration ========
: Q$ Z9 P2 l3 V" m* } */# D$ c# J0 G8 G+ x m9 l9 L
+ c" a1 O% \2 ]" n/* set default diags mask */) Q' _: o/ p! I' l" g. q7 w
var Diags = xdc.useModule('xdc.runtime.Diags');
5 r& r6 x' |: ^ \' q$ R# |+ evar Defaults = xdc.useModule('xdc.runtime.Defaults');
! D1 d, H9 k) i) e2 i5 `3 k" B4 g
$ Z8 w* T$ N8 R; h* zDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;. i. j* R" N! l4 z8 t9 z" ?, Y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( X m8 L. ]4 }% U6 n5 E& @Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;4 f# j. |2 x+ }0 [, X. z) ~
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */$ \: g! L3 K8 c7 z8 Z
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; P+ }( |0 R6 b7 q7 {. a) ~/ nDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
: }; ^% f( _, l4 _+ q0 C" m }: ~Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
# G+ G6 F1 [3 P+ pDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
( G5 j f+ @# a% e3 wDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;# A G. D% m4 u2 H$ N' }
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
. @# L% p% s; P+ M- yDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 g4 ~* I; m" eDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; _ N9 Y \+ m
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;! p% d; X1 a4 ^1 h; R' F0 F
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 w0 V7 b- R, u/ Q+ e
) o6 M2 H3 J1 u U/* override diags mask for selected modules */5 M0 `7 E9 \0 y( s% H; j
xdc.useModule('xdc.runtime.Main');
: B5 k4 B4 o; M8 P* ADiags.setMaskMeta($ d* K* s' M$ F7 A- m# C# f
"xdc.runtime.Main",
( F3 r/ o4 |% s0 R Diags.ENTRY | Diags.EXIT | Diags.INFO,
9 R2 z, C3 ?( x) j F- _' Q Diags.RUNTIME_ON4 M0 K, U5 C- [+ t
);
6 j% e+ |, N! ~) b8 }# D* \3 ]/ w1 k6 B3 x
var Registry = xdc.useModule('xdc.runtime.Registry');: q8 A' j( H( e8 `4 h N
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;! h0 O. y. D) h- U6 S
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;# s, O4 J, ]3 d
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
/ Q& ^8 E) }) r4 b1 p3 gRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;( L% k0 ?" R5 d1 O
9 V- C0 q: G* r* G
/* create a logger instance */
7 _3 X+ y: @2 W& W& tvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');6 K( w7 V1 h% }7 c3 p9 |3 ^6 @- ^
var loggerBufP = new LoggerBuf.Params();
# e5 l9 v% u2 [' Y( nloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- j( H! q8 D6 T% w! ]8 S: J3 [loggerBufP.bufType = LoggerBuf.BufType_FIXED;+ p F) ~* i6 l9 Y: D4 B, I
- y. ^+ j- f& `! N- J8 uvar appLogger = LoggerBuf.create(loggerBufP);
* g( L/ z: g: W4 }appLogger.instance.name = "AppLog_Core1";
% ]/ Z% S) x0 i/ n1 I- A; Q7 cDefaults.common$.logger = appLogger;/ v) R( u+ b& v8 x; ]7 x
Memory.defaultHeapSize = 0x8192; & I% d, O) m, n& `" H6 H2 z
Idle.idleFxns[0] = "&LEDStatus";# {! K( R Q. z
Cache.initSize.l2Size = Cache.L2Size_32K;7 g. q' `2 p9 H# S+ h
3 e' v4 V- j; M' @1 A4 J" L# x
|
|