|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明+ P$ g, D+ J1 c) ^7 W: p# s
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
0 K! d5 K, m8 J9 W(不过疑惑的是,为何单独DSP仿真就没有问题呢?)4 L( e/ a `+ r- R- B
( C6 {, N' ~/ b* J3 \1 W& B) o9 V, c
是不是需要在DSP.CFG中进行配置2 Z1 B8 f$ K# j: B' o
我现在的配置为. K) t5 Q0 A: [1 V
3 B! w( W, Q9 l& ~/*% ^$ Y" K4 M% X9 _; P6 ]
* ======== Operating System Configuration ========* _1 n9 V& X |6 H# R
*/2 ?7 W4 _% `4 u+ i
, w2 b0 j% ^5 U% ~1 n' M% F! x O0 R/* no rts heap */
6 b- o. C( q) }( V% ~0 j a- b7 }1 PProgram.heap = 0;! F2 i) E7 n$ Y! d0 m! E- D3 n
Program.argSize = 100; /* minimum size */
5 s x3 U+ m7 K+ _/ T6 d2 Q3 y A5 }Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大8 B5 W+ y! Q6 `8 w% Q k
* O6 E. c x }$ T! Q4 Z$ x/* create a default heap */
7 U2 [* Y8 P+ x1 K3 f: W; l4 U" Bvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( g1 p% l2 y9 E* [+ B: g+ `. \$ avar heapMemParams = new HeapMem.Params();' _- u) _2 {+ M3 y" e; {# W
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) y6 A1 ^) H& H1 Q# N
0 U* J7 \8 p0 ?, }' b: c8 Z! D
var Memory = xdc.useModule('xdc.runtime.Memory');+ G% i: R4 U! H
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
( f- {* F- S3 ?- x% o& o
2 S2 `: ]+ r; @$ T/* configure System module */+ O' h3 o9 G& O# s1 h
var SysMin = xdc.useModule('xdc.runtime.SysMin');
! E1 J8 B$ t4 g# W9 |SysMin.bufSize = 0x1000;4 f, \( I7 |/ S- S$ e. _
SysMin.flushAtExit = false;: p5 |$ D2 W- J/ u/ w2 l9 m2 a: W' m
! B6 i# n* w/ ]6 z' K! e4 Kvar System = xdc.useModule('xdc.runtime.System');
; J& R9 g) B3 K; {8 [System.SupportProxy = SysMin;" R( ]( Q- I4 Z& }1 F/ O, L) q
& X7 F2 |4 i8 [5 X9 ~/ y& s1 ^/* configure SysBios to use the lower half of Timer 1 */
/ u* F. }. t8 L& evar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');2 O. [, @' c+ J
var Clock = xdc.useModule('ti.sysbios.knl.Clock');- }' R; [- m1 c+ }+ K
Timer.timerSettings[1].master = true;
, v( W, n% F0 o- oTimer.defaultHalf = Timer.Half_LOWER;9 F- }" M% N6 g
Clock.timerId = 1;
k8 Q1 H( q, G% u: t- _' y- \0 l7 o1 j. g6 [( u) V
5 s! r( N9 \) }# l9 N; ~$ o
/*6 b% d# h, j ^; H
* ======== Miscellaneous Configuration ========
s; V* O' S* N% R/ D! o *// R- X9 ] }6 g+ i
& s: i" O4 ^2 H2 U, A E/* set default diags mask */
1 k! W* q8 W: s5 x, `var Diags = xdc.useModule('xdc.runtime.Diags');1 s; b1 J( r2 J7 P F* J9 O, t
var Defaults = xdc.useModule('xdc.runtime.Defaults');' a o+ V# y4 M2 u3 a) n& d7 F
/ [' p* e* I. }$ \" m& a6 ?9 `
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;& v& C( P! ?1 E, R$ _4 R; |5 A/ l( C
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
9 V& s( z0 \) x5 A' a1 {1 {7 dDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
' k' g2 f7 W8 b: L, EDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) `- d% ~, _8 f5 |9 O1 S1 uDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
* m' K/ L3 n! C. I9 vDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;. I- ^$ e- r% E& I+ V6 p5 s# S/ P- d
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
; m2 Q8 M9 p# Z; eDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& d3 J! F' I9 A" M2 m4 T, i& ?- x
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;5 v6 \# s, J6 M
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;3 K6 U7 C9 d6 r: M' b9 U% w
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;" L7 o. ]. y: b% ]; `( g
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
9 ^; ^ X, H# a: t' K) t7 L( {3 p' Y: ZDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;9 Q* n* `6 H1 s6 T
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;2 z8 [' w P1 |! D( ~5 K) C
$ }9 I. k: e! a( d+ ]* @% ?
/* override diags mask for selected modules */3 z2 X- q3 r q) W* K7 G% x2 q
xdc.useModule('xdc.runtime.Main');3 H/ {/ h+ l6 j/ p- W
Diags.setMaskMeta(2 C) f+ Q4 f& d6 ~9 A
"xdc.runtime.Main",% ^ {7 ^: B Y' u& O, k6 V
Diags.ENTRY | Diags.EXIT | Diags.INFO,9 l' ~+ y6 A# x7 `8 v7 v
Diags.RUNTIME_ON
( l7 k/ i' M O);
2 c3 D* @+ Q: }, x$ n
" ~* J' D4 M' L/ y; f- x1 S! vvar Registry = xdc.useModule('xdc.runtime.Registry');
Y( K) V, R; ZRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: N+ Y5 x$ [- q3 c2 V+ O( o/ y
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
7 d2 i% I- e* ~1 F6 RRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
; M( x( a' b, @) TRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 a1 q# C& q3 `7 r+ d
" Y+ v5 }& L( Y5 \5 g' t/* create a logger instance */! V* l" J3 R0 d5 R
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
h+ D, b5 P* e8 r# M, ivar loggerBufP = new LoggerBuf.Params();7 S- Z/ l. O8 _. u% ~% T" q5 x
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
% }4 n- c% j1 c- I' L' E, L9 v8 |loggerBufP.bufType = LoggerBuf.BufType_FIXED;
$ Q2 ~- B! r! h9 e5 N, U1 _
- |' s- e/ c( m3 U2 e3 T) Jvar appLogger = LoggerBuf.create(loggerBufP);8 h6 {7 X- N1 \( l& J, g
appLogger.instance.name = "AppLog_Core1";6 ~/ y1 D1 u }$ J) m
Defaults.common$.logger = appLogger;
, i" Y6 h! y. a' ]& AMemory.defaultHeapSize = 0x8192;
6 U/ [- F4 i7 [: xIdle.idleFxns[0] = "&LEDStatus";- G( j b6 Y6 y4 C# R" J
Cache.initSize.l2Size = Cache.L2Size_32K;8 o' V/ D* q5 \7 l
5 [. H' y) v# s, w" B3 |! @1 }
|
|