|
沙发
楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
) E j' R. t0 }$ Y8 L! B) t3 j: V我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) Q9 X- |$ h s1 n5 l; ~(不过疑惑的是,为何单独DSP仿真就没有问题呢?)/ d# P( L% Q* s. T% m7 a8 r; G' v' G9 m
+ F7 ~, W; W Z5 `是不是需要在DSP.CFG中进行配置
2 Q' Z, y; ?0 d* ?我现在的配置为
8 W8 D, i* q7 N. C
+ r: `$ H. H0 p; S/*+ Z, ~6 U6 g4 r
* ======== Operating System Configuration ========. Z: R( v, c0 \1 V7 I
*/- S) z# [& ]2 _) R# ~# p1 a- v
6 e: D2 ?0 U" a( g. G" u* M
/* no rts heap */
' q/ r. {) h N+ L! dProgram.heap = 0;
4 H" n) c. L% y5 F9 MProgram.argSize = 100; /* minimum size */
) y7 u( l$ N! {+ }3 |" y/ p: r7 y2 d1 h) o0 TProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
1 e2 ^& A- b5 U* h G* o. I1 _* a* z$ R( t N# V9 U
/* create a default heap */
5 c' }/ m8 X. bvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
0 }' m5 E! Z8 dvar heapMemParams = new HeapMem.Params();
. l; a$ |! n1 s. [8 ?# e9 pheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
% G% `" e! Y4 ]+ A; e" d5 q3 t
* D: S6 p# J. a" o- nvar Memory = xdc.useModule('xdc.runtime.Memory');
4 J6 Z1 N& T+ l" w' sMemory.defaultHeapInstance = HeapMem.create(heapMemParams);8 `9 h" D* L: N) d: c8 O( `
1 P; ~) {- V8 t" W
/* configure System module */. B- ]8 P+ _$ ~3 @
var SysMin = xdc.useModule('xdc.runtime.SysMin');6 X; h2 ?( X5 \, c$ y
SysMin.bufSize = 0x1000;
2 a( s1 C- d2 N8 bSysMin.flushAtExit = false;: l* I6 x3 L f- ~
) S# {6 Z- j; R% V& K) t" B; avar System = xdc.useModule('xdc.runtime.System');+ s# y- M; V/ C" m# L) D
System.SupportProxy = SysMin;
" T R: Y) h) \0 @
, E! C7 u: L1 k9 L5 _/* configure SysBios to use the lower half of Timer 1 */. N: l! v7 A% D* J
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
7 {1 s. b. y0 ivar Clock = xdc.useModule('ti.sysbios.knl.Clock');1 }: d6 u8 h d) i9 d0 u5 n- K$ i
Timer.timerSettings[1].master = true;3 a- `( _- R5 W6 h" D
Timer.defaultHalf = Timer.Half_LOWER;
3 {. q8 `; @( Y6 D4 p" CClock.timerId = 1;
+ y1 E1 O8 c/ T' O4 J' S; _% S& |, ]" U; C5 F
+ u( }) q: u" h* w5 f$ d: m/*0 g) p# `- W( {7 M
* ======== Miscellaneous Configuration ========$ M, E; e- C1 x7 `: }
*/
4 x! o9 h9 y7 {& y9 @: a, n& V( |( y: E* D' a, P9 v) a7 ~% K! d
/* set default diags mask */
9 d7 j9 D' b/ f% Tvar Diags = xdc.useModule('xdc.runtime.Diags');
* @3 Q" m" R- m9 [! X- K) Xvar Defaults = xdc.useModule('xdc.runtime.Defaults');
0 e7 [6 q# i+ Z; [: d, Q8 U
. T( i: s5 j# u* U# U, B) _; nDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
3 C3 v: n+ p' k" Q: ^Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
) u6 R# A0 n- N& d* J% ~) P( uDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
: m' f |* J: U0 R/ h: cDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
9 A/ f( M' F6 |4 ^3 k' F# `Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
1 e: d w* V/ {2 U; zDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;) h7 G, i; I# q3 W6 J$ g
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;! c2 p6 o7 z( G
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;) k9 F/ |1 h# a% b# x
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;( n% `: l' X# V, R
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
# H1 M$ E7 W6 Y! y& ]! }4 HDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;- o* E: Y' }; k- C% Z
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;+ X1 y2 n3 a. v" C" X1 u! G
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;) ]( F. h) J% x4 P c) `* Q
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;6 x6 ?! E7 o3 J) P! m. q
. p+ |+ e2 U) H) W9 K7 r( O4 ^
/* override diags mask for selected modules */
/ v1 v5 t9 w$ H: ~: Uxdc.useModule('xdc.runtime.Main');
% y( |0 s' T: y( y+ wDiags.setMaskMeta(
' s2 e/ d9 n2 s, @ "xdc.runtime.Main",2 m5 e- g! d! C% i
Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 H" a0 r4 k1 X+ D8 O6 T Diags.RUNTIME_ON: n$ H5 u1 m) T( y. R' B
);/ _# H' Q3 t) ^' E/ f2 K3 J
+ ^7 z1 M% Z5 Z5 E/ Z, b
var Registry = xdc.useModule('xdc.runtime.Registry');- o& o; t2 }' j
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;1 k, B0 c! A& U6 y6 P: }. X% C
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
# H5 Q9 P* [& c3 q, I: g; qRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
7 D n( J3 \3 SRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;) ]3 y3 G" X; Z! e) Z
4 G1 ]! k) Q' G
/* create a logger instance */5 j* k3 U# G* }) Z* h2 D0 A, d
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');8 M2 i3 i* D9 j4 |) E6 S
var loggerBufP = new LoggerBuf.Params();
# t4 m! ?- b* {1 B( O/ r- p9 K; tloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
7 n/ Y: d9 C9 ~0 s/ q/ i) k2 ]loggerBufP.bufType = LoggerBuf.BufType_FIXED;5 t0 C8 f7 ^: i' i; y& J4 Q {- }0 }( E
7 Y5 V; |* G3 B) R, H' i0 N0 Ovar appLogger = LoggerBuf.create(loggerBufP);! G+ h9 {1 ]2 w: g
appLogger.instance.name = "AppLog_Core1";0 M$ X4 V3 H) B) w+ k
Defaults.common$.logger = appLogger;
# R7 d8 \6 o1 z7 [8 D/ } O: DMemory.defaultHeapSize = 0x8192; 5 L4 |' ~ G/ b
Idle.idleFxns[0] = "&LEDStatus";9 P j& x0 j5 q5 ]/ j6 @) ?: Z1 `
Cache.initSize.l2Size = Cache.L2Size_32K; I+ H8 `/ T; `. H
$ r! t/ C0 u6 E: u1 \. W/ R
|
|