|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
4 ~0 j2 r3 s) \' i0 b+ P1 k我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
2 [3 r0 n6 u4 V% m; w(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 s; `1 {& D; X* x) {1 D
4 k% z/ v0 o; Y- D; r+ B, X# S是不是需要在DSP.CFG中进行配置
+ U: W' w& p0 c% y: F我现在的配置为
& L; E: Q& @! R, H( N; N! W. O: z
/*
) Z9 t% H& S$ l; [0 k; }" A * ======== Operating System Configuration ========" C Z' Y7 `8 u i8 n: Z
*/1 X1 ^6 B: a7 Q# {7 Y
6 Q, L5 t8 r* `5 i9 Z/* no rts heap */( \ Y3 O; h* t
Program.heap = 0;
, o' j G, D& F. S! RProgram.argSize = 100; /* minimum size */( }. f3 r" o. x: |" q, D8 b& ?% D1 a
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 z$ v/ d0 K* T; S# [) A7 b
0 Q4 \% S' [" F, ?/* create a default heap */' {* \$ _; |. G$ h; Y: _1 f
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
$ p1 `. [: q& P% o: c- pvar heapMemParams = new HeapMem.Params();9 A8 o! U6 E* M4 B: k# F- C4 \( X
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大$ Y2 m$ l$ ^& _1 M
( h+ G* m& b/ h }1 g+ nvar Memory = xdc.useModule('xdc.runtime.Memory');, h( Q, O: N: Q+ B6 t
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
! b6 f: b, |3 z/ U* [# X
; J: z' V. Y: ~! [; U7 w/* configure System module */
& q: D! _0 h# ~! Dvar SysMin = xdc.useModule('xdc.runtime.SysMin');
# Z, C$ `7 u" g' v7 H" B! ASysMin.bufSize = 0x1000;
& T" C0 P$ K9 a% S* |SysMin.flushAtExit = false;
S7 J. s2 d% b$ | H. y1 E+ H; ?( x- _; Y
var System = xdc.useModule('xdc.runtime.System');
) m1 A! [0 A- t* |6 }! |* \* l5 }, wSystem.SupportProxy = SysMin;$ h3 ?& C2 Y. R* f _% z" `
7 [; i5 H2 k/ C. g4 {/* configure SysBios to use the lower half of Timer 1 */( T; T2 }4 \ r+ X. ]! R
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
0 v/ F8 j, ?, U- P* Uvar Clock = xdc.useModule('ti.sysbios.knl.Clock');& g2 I0 r1 Z4 s& w* r8 F
Timer.timerSettings[1].master = true;8 g O6 e) ~- Y5 H
Timer.defaultHalf = Timer.Half_LOWER;$ W! c1 k9 C$ p% }2 ^
Clock.timerId = 1;7 H5 `% I8 v4 X( y5 s- W" p
! r; A# q) T8 f6 u) x8 ^) `0 a. u# V$ b
/*
9 R; ~3 q* R' e5 ~9 j/ x1 F# j& e% | * ======== Miscellaneous Configuration ========- u0 Q5 d) P/ K2 l9 d+ P
*/
5 U _- t1 v' g: ]$ Q
8 m4 d2 L8 p; E5 U" C( h/ \/* set default diags mask */+ M& W$ r! T! d, Z* [6 ]
var Diags = xdc.useModule('xdc.runtime.Diags');6 n7 `9 C t6 U5 V! [
var Defaults = xdc.useModule('xdc.runtime.Defaults');7 R3 R. ~9 p& b4 F% T3 _1 [' W
: z: {$ e) z: K: |
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
h8 L" P0 l6 R' Q- zDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
" R2 c. q1 l" i N6 ODefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;. h* U6 \' x5 B2 c$ z
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 R% A% @8 n1 G s* \4 YDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% V) r. y6 K+ I1 Q
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
v5 n+ F9 S2 O8 R! E9 KDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;: Q' @3 A7 U9 } G% s, p E
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& F) B9 h+ \# p8 V. w' C6 o
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;4 p3 ~0 a5 R: ~! O' S6 q
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
1 g+ q6 Z) |1 n- i P' v( x/ hDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# ~: W A) H2 b$ B; D2 t
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;3 i9 G: u$ Z) U3 I0 R. m! Q% r
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
5 Z; o! U ~$ w( W/ j$ ?Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* i. W6 A, X& H
3 `0 M, C/ g" r; y( ]9 A/* override diags mask for selected modules */' n4 c( }9 O0 p G: ^4 z) H
xdc.useModule('xdc.runtime.Main');5 c9 g+ A+ i" N2 w/ i+ v6 O! \ ^ _7 ?
Diags.setMaskMeta(
0 ^3 k* u* R9 E, d$ R7 \. E, U "xdc.runtime.Main",
) c( x8 u# w) i/ p/ \ Diags.ENTRY | Diags.EXIT | Diags.INFO,* S8 k; s! Q2 {, ]% N1 O$ Z
Diags.RUNTIME_ON
$ _) V- i: C3 ?4 C5 _' Q6 n);, X" i1 v: c: f# L0 X
9 \; V2 [3 I! f3 Q4 k5 nvar Registry = xdc.useModule('xdc.runtime.Registry');; j+ _0 l6 P- M. v
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
0 a) ~5 Q% R4 o" r. GRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 F% ?& {3 I4 p+ T
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
1 A" ~ q8 B2 Y" y) \2 z4 x# oRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
$ u$ e! B4 d! {8 B
: U+ [% R) B7 b! h. ^, h9 {+ d8 f$ w5 n/* create a logger instance */
! ~8 Z! r! ?( M3 Dvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
, `0 v' r. ?* H' A& R& Tvar loggerBufP = new LoggerBuf.Params();) v! b& H6 I) x6 |. m/ X6 r$ R1 H G
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */, q2 f" Z- S0 i& j7 c
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
; X: O, y, i' ^5 A( W' s+ f8 E/ [, e8 u1 t3 T3 c
var appLogger = LoggerBuf.create(loggerBufP);
" I& x& n Y* x( B/ nappLogger.instance.name = "AppLog_Core1";
% E" M7 p8 i. a% f. l' x; a4 C* gDefaults.common$.logger = appLogger;
. y: t ?0 i" ]' `2 j, _/ CMemory.defaultHeapSize = 0x8192;
# E4 O& S/ t' h3 W8 c. K* tIdle.idleFxns[0] = "&LEDStatus"; f: d6 O. N! V5 Q5 v
Cache.initSize.l2Size = Cache.L2Size_32K;
4 @/ I4 R6 Q }: W! V, S* |" H/ U8 z& s2 }
|
|