|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
- R1 _4 e$ D8 q* W, @我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
- X. f" p$ Q0 `/ N- E; [5 g(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
9 E& L) g; _/ p1 h+ T G
3 G! k* M$ J9 M* \是不是需要在DSP.CFG中进行配置
5 v7 Q9 ~1 o6 G6 I9 b0 y我现在的配置为1 H' @! z& v* Y4 c3 a/ h
* i7 `/ h3 a* f. V
/*, X7 F# N+ C' M" S5 p7 i" b
* ======== Operating System Configuration ========
4 f2 d0 b6 N y/ f% V9 ~3 n( M */
' {4 t8 K) a0 B: u0 g' A5 u& A( s0 _( M; ?/ J) Q
/* no rts heap */
2 e$ N- u+ B% AProgram.heap = 0;( n N8 v9 c: p B+ Q5 M3 a& |7 O
Program.argSize = 100; /* minimum size */2 @ f: E- T5 _
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大6 M: h$ c% P4 K' {5 }. A3 i- L
) E& N; P+ d( z7 |
/* create a default heap */
! b, A2 q& }& u4 k6 Zvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
; D" R& T0 J2 G9 ^ qvar heapMemParams = new HeapMem.Params();
& W" M0 H% `/ u, t8 J vheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
2 D2 q: t. r; S# d- g! b9 M( y
( K6 X# K- K. g* zvar Memory = xdc.useModule('xdc.runtime.Memory');7 B: C# n4 }6 t0 ^! N
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);- Z" f0 q, {. g* e) b+ ~' R8 X8 x
& ?4 [( o+ T9 ]/ _0 r* T
/* configure System module */
" L! [6 E" ?8 N+ l3 x7 Xvar SysMin = xdc.useModule('xdc.runtime.SysMin');; R, H l, q+ e$ ^) l, v0 c
SysMin.bufSize = 0x1000;
$ p. l" g4 e4 C. \2 i, xSysMin.flushAtExit = false;# `" E, x/ d, y7 K
. ~6 I, Y9 A2 ]% J
var System = xdc.useModule('xdc.runtime.System');* }, L, y8 ^1 L9 d& g- X
System.SupportProxy = SysMin;+ D- m0 p$ O+ [( ~: k6 Q$ s* }( h
1 E7 k a% H# I0 i8 p) w
/* configure SysBios to use the lower half of Timer 1 */( N+ d8 B9 h9 p
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 m+ d }: z$ a: v1 B/ `var Clock = xdc.useModule('ti.sysbios.knl.Clock');
5 x: U$ h- d' R( B W9 f( ~% W( CTimer.timerSettings[1].master = true;
' p+ O' v" T8 _$ _/ tTimer.defaultHalf = Timer.Half_LOWER;. D5 q. k- a6 m$ l( G
Clock.timerId = 1;
3 a* R7 O9 R3 p: w$ ^
' X9 v" p6 N$ X% p7 u8 A- M2 q+ z2 a; m( e- R
/*9 Q; z2 m2 Q- O! C! b& O2 L' i
* ======== Miscellaneous Configuration ========
. Q2 w1 q8 M- i' t' x1 R */ N1 d& X6 Z2 @& M
$ r X6 h3 Q; O+ Z5 W( Y" Z/* set default diags mask */
1 p' y. ?& }. I+ O) bvar Diags = xdc.useModule('xdc.runtime.Diags');/ ~; y& |0 q$ @3 [2 A7 A
var Defaults = xdc.useModule('xdc.runtime.Defaults');5 B; m. S5 q" o* d
% `3 Q+ w3 D7 i5 G: ?Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;$ O, g. X6 H: Q2 ^9 Z* x& W8 f
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;. ~: u ~! o- R% K
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF; g, u( M% u) e5 e
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
7 w/ P; N# [, s t* U0 g oDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
0 @) n6 a$ t6 L: v/ H6 r. @Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
# x0 |: `* f3 f- c, kDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;5 G* ]: ?- Z# K* t. ~! s g4 _/ I( X
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;1 k. c( ^% B2 x
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
8 y* Z. {2 s2 ^$ y# Z% e: ~3 `0 nDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;: n3 ?* J' l; I! W
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;" O; t7 P$ K6 b: {
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 x# Z% @( C1 L+ ZDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
+ }" M- R: L; t8 c' I$ \Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;2 ]' z! c% ~: o. F* R" n. I/ f
# q, y: @* l/ n5 j/* override diags mask for selected modules */; C+ c, I8 s6 C$ k% l
xdc.useModule('xdc.runtime.Main');% i( I. H3 }6 ?- I& g& _* a( M) a
Diags.setMaskMeta(7 S3 l; j1 i3 B
"xdc.runtime.Main",
# \: L; P8 ?& x2 t/ s( G. s" ]% m Diags.ENTRY | Diags.EXIT | Diags.INFO,
; i+ F0 c: X! q9 J Diags.RUNTIME_ON
1 U, S- b0 \ l/ V; I5 I);
& {5 @& J7 f9 L! G
" A( Q+ Z1 J* e" E6 B! Ivar Registry = xdc.useModule('xdc.runtime.Registry');
1 i- u8 S0 q% @- y/ c( y6 gRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
" e/ ^2 s2 r5 B5 |( r2 i9 \5 WRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 p; {6 Q9 w$ z) [, f9 e' lRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
" o5 u! r: f, D3 o/ N6 T+ @Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
+ k4 ?/ k A+ S, _) A6 G' H {* V" k* m* t6 J0 z* Q
/* create a logger instance */
2 _# D. `" p" n2 t. R, I) z0 B2 @var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) b3 O2 G R& H* j# ]+ X
var loggerBufP = new LoggerBuf.Params();
% d6 ?! ]6 I' O4 {: x, XloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */4 [- {/ d7 I2 f5 c2 b
loggerBufP.bufType = LoggerBuf.BufType_FIXED;$ ^- D6 ?0 D) s3 T2 Z, t4 a7 A$ _$ D
+ w5 s" ^! d6 [& S3 Lvar appLogger = LoggerBuf.create(loggerBufP);) j1 s. W/ [% n) c3 G
appLogger.instance.name = "AppLog_Core1";
c2 s4 e- G$ oDefaults.common$.logger = appLogger;( ?" ]1 {8 N2 f. z2 T
Memory.defaultHeapSize = 0x8192; / v0 \. P% ?" B3 h9 g2 F B
Idle.idleFxns[0] = "&LEDStatus";4 @) H6 C5 s- [$ ]+ j1 K- N
Cache.initSize.l2Size = Cache.L2Size_32K;+ h. {& y4 L/ | L6 o ~" I
# g$ P" @/ I4 v8 s6 h; x
|
|