|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
6 W! \6 J9 y' g x我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下% m0 Q+ J+ f2 _" d) Z* H# h
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)1 K5 k8 _* l1 T z6 y3 ?: p
* e+ b: n0 i3 P* j# b+ K" @, m) W" g
是不是需要在DSP.CFG中进行配置
2 D" g) X9 L9 l& Z9 ?0 n, G我现在的配置为5 r0 {. z9 J3 \
( O: n T: \ Y
/* T0 C. O- ]# h6 x+ j
* ======== Operating System Configuration ========! ?& `1 w7 B/ `% v
*/8 F" q: `4 I* y* w# C
1 E+ o9 Y2 _0 n9 D7 q) x) p/* no rts heap */
* ?% ?) R8 R: e& k6 ?( Z3 HProgram.heap = 0;, w% {7 I7 q3 M7 x, ?4 W F
Program.argSize = 100; /* minimum size */$ w9 M/ [2 r7 C5 ?$ l1 C
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大1 H2 r a. T# |- I( b$ o
) C0 @+ [. I0 }; D
/* create a default heap */
- e( p0 q; ]4 @1 V' V. S! J- Ivar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# n* p+ e) m& Y% z+ Z0 J' {
var heapMemParams = new HeapMem.Params();8 U. Z) K- e& g( a8 b8 }
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
- j/ J. ~; R9 j. K. a) e2 [& ]0 L, D8 X* n. a
var Memory = xdc.useModule('xdc.runtime.Memory');
& B9 S. y# f b6 fMemory.defaultHeapInstance = HeapMem.create(heapMemParams);$ }: s: G. b7 F5 x2 B# s
6 ~, p$ v* ?' E s$ M1 w9 A) h
/* configure System module */4 g; D) P2 f. h4 B. E, H7 I3 p
var SysMin = xdc.useModule('xdc.runtime.SysMin');' i8 _9 s6 x4 O1 @
SysMin.bufSize = 0x1000;$ i7 ^ _5 }. M2 J
SysMin.flushAtExit = false;
" R, p1 C, V, c! _8 L7 K* p" S; l* w. E2 @7 x% b; V! ?+ S1 F
var System = xdc.useModule('xdc.runtime.System');/ u" B3 J P( n. u* p( v
System.SupportProxy = SysMin;
1 e) p3 T( M5 W I. G& S
$ U7 s+ S) {. a- j/* configure SysBios to use the lower half of Timer 1 */
|1 T" L- [6 y( m( ~4 d1 O! Uvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ J ]7 G- Y* Avar Clock = xdc.useModule('ti.sysbios.knl.Clock');2 A- y, L( r& z/ O
Timer.timerSettings[1].master = true;
2 N! j5 p' b. B" D# n# J3 P5 i7 bTimer.defaultHalf = Timer.Half_LOWER;3 N* n) Z& O9 Y t
Clock.timerId = 1;
0 ~6 u8 D3 {* d0 W) r D
% @* p+ h& |% m% f; v$ Y6 |
; O {8 G4 T& G* y m' K! d/*1 X0 m' v' I8 U; A" E, a) |
* ======== Miscellaneous Configuration ========
5 C4 X6 N; c% ]) a; H% I */' T% h- {% R* W
8 M* [# J; Z: j/ H/ H: b
/* set default diags mask */5 Z1 P, e6 y9 q# Q4 O
var Diags = xdc.useModule('xdc.runtime.Diags');6 l* B7 W) m3 B$ Z/ L) _5 _! _1 V( b0 g
var Defaults = xdc.useModule('xdc.runtime.Defaults');
/ Z# }) g$ z' S
- x7 } a# Q) e0 R+ C1 V0 y& JDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
% l2 Z) v% X5 L# d: m6 I* H- oDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' u- o& o( c4 }0 n2 l5 D
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;/ W* r5 o6 G0 q W+ ~" U
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
5 t( |: t U9 e: z7 CDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
9 G; w8 w( `4 jDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 e* x1 i+ f, n9 z# {& Q4 q+ O2 Z
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
" _6 v3 t/ J& Q; V, q2 rDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;5 L1 }3 H7 }. _7 v1 D
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
% X4 w- c: ]9 T/ b: o2 D' vDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
4 K8 Q9 h0 U! V. O# I; zDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;, r2 r) R. s- h- q! `& k" v
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;! \$ t; Q7 P, B( S" B3 O7 p6 s* |
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;0 s/ C* k# G2 _' ]* R) z
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
$ i0 D3 a0 C# r7 o
( M! D( s. n; r4 r( s! e+ F& ~/* override diags mask for selected modules */
% y3 P( i: W1 }" H9 x! S9 M: O1 cxdc.useModule('xdc.runtime.Main'); _; A% {7 F, S$ L" E- T
Diags.setMaskMeta(2 E v D# E* ~! A: l
"xdc.runtime.Main", L& x+ A( b# D
Diags.ENTRY | Diags.EXIT | Diags.INFO,( u4 T$ F: b0 s
Diags.RUNTIME_ON' J# Y% h# m( N5 N e0 D& g" ^
);+ S9 O2 G% I [; Q/ m
2 C, Q+ Q( X3 s0 }' U# l8 a$ c7 @var Registry = xdc.useModule('xdc.runtime.Registry');
' {2 _! ^4 _- k' A, uRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
1 o9 E, O8 T/ u7 _Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;" N& v0 [1 f! A R5 c$ l
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
; T- V2 f% p4 j# _7 i) `. ?+ G( ]8 \' aRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. l. E n% P5 Z: N
8 |+ G4 M) ^# D% D5 K/* create a logger instance */$ T( ^9 d1 _6 }/ \2 z
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
* m8 t7 R. a* T7 S2 ivar loggerBufP = new LoggerBuf.Params();
; ~0 u* d p+ b5 mloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 ~# x9 b" \ }( R* K, D
loggerBufP.bufType = LoggerBuf.BufType_FIXED;) S$ K" g4 E: _0 s; G7 i7 l6 k" ]- q
( L0 L$ {7 j1 T0 }& qvar appLogger = LoggerBuf.create(loggerBufP);# _/ d3 {9 l) `) _
appLogger.instance.name = "AppLog_Core1";5 [+ v# V- `3 m1 V1 }7 G- b4 Y
Defaults.common$.logger = appLogger;
" k# e9 S2 N+ u7 [1 GMemory.defaultHeapSize = 0x8192; % E @) F0 b) m
Idle.idleFxns[0] = "&LEDStatus";" N) [0 c6 s% @' T. B, L( r% u* s
Cache.initSize.l2Size = Cache.L2Size_32K;
I. q) _* N4 I+ H% Z4 u5 j* s5 r. d" M4 |
|
|