|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
' N! s0 U: \0 w我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- D. l* E r6 `5 \ P
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
( E0 F: K4 \; C5 r7 P+ H& S$ I$ m" s, D( x7 V
是不是需要在DSP.CFG中进行配置
5 W, i( @: S- ?* P# l4 {8 H我现在的配置为
: A+ B$ U4 [5 m1 u$ c) c- i- p8 U& L' Z5 ~
/*0 H8 @) `: e6 ]6 s0 J
* ======== Operating System Configuration ========( c. [' r$ g5 [8 F3 l- B2 C
*/
i% u* F, Z2 N6 C2 k- h% d9 D8 x2 H+ @. V1 ?1 V5 e; ^" {) z) j
/* no rts heap */
9 \- d5 u' r8 Q# ?* ]6 C0 SProgram.heap = 0;7 ?( z& k. Q6 ]- `
Program.argSize = 100; /* minimum size */
. b. D1 M' q& w; P2 p2 XProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 U8 o! l a f$ Q2 x
: A* o$ m6 w b4 u) V: R( I1 q/* create a default heap */
. k, e2 p3 z1 R% P5 fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 B8 D' x9 z( S9 Y
var heapMemParams = new HeapMem.Params();
5 x2 s/ H7 Q9 |. J) G% l9 n1 YheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. s. ^" O4 |4 a# f
! T. O# N- b7 X& x5 x+ E4 U& L+ ^var Memory = xdc.useModule('xdc.runtime.Memory');! q7 F# P: g; ]8 C9 m) s, w
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ x7 `9 i& m4 b" M5 ~# R! h8 E) Q- y7 Q
/* configure System module */# }+ W5 u& G% o- p. ]6 J5 `
var SysMin = xdc.useModule('xdc.runtime.SysMin');
3 _$ ]2 p" I3 @/ t; Z: rSysMin.bufSize = 0x1000;7 m# E, d/ H- h* Q& Z
SysMin.flushAtExit = false;6 w5 _; |; @' r; Y
: ?" V" }& k* t5 Gvar System = xdc.useModule('xdc.runtime.System');( @/ m" d2 ~1 J8 ]' r& h
System.SupportProxy = SysMin;
9 S o' k* ^$ `" R( |0 h, f; N4 W3 S: h' H
/* configure SysBios to use the lower half of Timer 1 */
: S5 c, O; }0 N, xvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
4 _- x7 L1 O. w8 E* Hvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
4 n% C1 r; W; E; c( pTimer.timerSettings[1].master = true;. h) V. ~ ?4 {, z
Timer.defaultHalf = Timer.Half_LOWER;
& u, s' \; b- ]; J6 Y! h- W" \Clock.timerId = 1;
8 |5 _+ j- L$ `# a( W! Y- H7 c1 _
/ J/ \& X9 o- \& g, q5 m, V& t/ [; Z, z
/*4 Z% ]2 J9 s) D6 y4 G; v& R' h6 k$ O
* ======== Miscellaneous Configuration ========; j2 i4 D) L) `9 J
*/
/ d/ g$ \8 c! e, Y0 C/ l# v: e
5 X) D5 P8 w H% m5 o) T# a. a/* set default diags mask */
8 r7 p0 n- }! `+ R5 [& b2 Dvar Diags = xdc.useModule('xdc.runtime.Diags');
/ h7 n: C7 Y* Yvar Defaults = xdc.useModule('xdc.runtime.Defaults');
8 B( }. R( W6 Y# x L4 n
1 I. Z& R0 N4 F: u4 zDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
' c) h1 s h" `2 y/ d0 ~/ G% [Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF; }( r% I" Q R B
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* ^: U7 T" @, X7 m8 F2 q- I* bDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
6 S2 q0 I% q$ nDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */3 I z. m9 g) W5 O5 I
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;! a/ y) W e0 i: J$ @& x- ?9 j
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;" ^' q8 \! l# } R
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;. h3 {3 U0 N8 k& U$ K% Q% ^- I, M
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
& L. M7 z2 t! h* @; TDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
x1 T! V# U) Y8 NDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;3 T. e! Y, @4 [6 Z8 U* e
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;7 ]$ l& P3 E u; r
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 ~% W+ d/ e1 V
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;( F- ]8 z& G. ^$ y% B1 Q7 p7 z0 W
' R6 [: Y) B: ^7 ]/ O5 e$ k/* override diags mask for selected modules */
4 L; N; m: a9 ~* jxdc.useModule('xdc.runtime.Main');
! ^! \# g1 H+ Q' C l! \Diags.setMaskMeta(
- ^$ A( \3 q- b! a0 h "xdc.runtime.Main",$ S* S) p1 u# f0 H
Diags.ENTRY | Diags.EXIT | Diags.INFO,) [5 e- j( o* C( m
Diags.RUNTIME_ON* G7 o7 m7 m: C& C* M3 |6 ]
);
1 o! J! J+ I' M' D
) Q- _* Q4 ?9 {+ Z( S2 Fvar Registry = xdc.useModule('xdc.runtime.Registry');4 l; H9 K9 J& G
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;1 ? n2 G2 H- C; Z4 f+ a4 F$ r9 j" @- o
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
. M P$ P {- i: M) {+ K) wRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;" X) D+ k2 P* H# Q* C
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;: l' w6 }* T( Q) B
" ]2 _" G9 P% `* `5 `, w
/* create a logger instance */
( U5 a' Y# A9 [, v! t9 u# _var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; P6 e% L ?# I, \4 ]8 ?. Dvar loggerBufP = new LoggerBuf.Params();2 w% B) ?- v* z% c
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */1 ?8 L9 e( x" b; t
loggerBufP.bufType = LoggerBuf.BufType_FIXED;" r6 d4 f- Z- A( z v7 Y
) z6 l& N4 k2 ]- Nvar appLogger = LoggerBuf.create(loggerBufP);
! i- `" x. k7 h% s3 DappLogger.instance.name = "AppLog_Core1";
4 M0 d+ r& b' K9 L1 y; XDefaults.common$.logger = appLogger;
+ c3 t q; v) n1 pMemory.defaultHeapSize = 0x8192; . w" `8 r3 T5 T, Y
Idle.idleFxns[0] = "&LEDStatus";3 b" c6 _) s# [ d8 s' q
Cache.initSize.l2Size = Cache.L2Size_32K;
1 W& l0 L( e: P6 \
1 e! |( e7 C7 ?# }/ H2 ]* c0 C9 X |
|