|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 L$ _8 r: r1 E2 q. E
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
/ g& ~$ A# O& b. \, z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)5 V& [' w* ^- V* N+ @
- b+ M* l$ ?9 C6 ^8 [) n0 t$ Q
是不是需要在DSP.CFG中进行配置5 ]/ W+ Z# @* u# ]* Y/ j+ j
我现在的配置为
6 H7 c* I9 t# p) E' r/ O; D' Q# G$ L3 f6 J& q. J7 `9 D
/*
6 T0 R5 b# f3 W. D4 z; { * ======== Operating System Configuration ========. i$ X$ J C2 R9 [
*/
& T0 C. G+ r) A! v1 ]% G. L) t% R% b9 a! G) [
/* no rts heap */. P. O1 j1 Y- y5 W2 I
Program.heap = 0;; C/ R L6 n2 S+ l/ Y4 A* W: Y! i
Program.argSize = 100; /* minimum size */
; c" y5 m: A' F! E- qProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
* u) F L8 p- ?. j! Q# H+ O5 ^9 B0 K) `9 u* L5 z8 h
/* create a default heap */
" c2 F8 l; ]" ^2 P9 m9 b( Zvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
3 N; k; j& @4 \. X/ rvar heapMemParams = new HeapMem.Params();
' X5 N1 S, M$ f" D, V$ ?heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
# [" g6 N! s, r) l9 w8 [$ R, t2 ?3 K! @) J$ B u/ k
var Memory = xdc.useModule('xdc.runtime.Memory');
8 }- I/ N |8 h4 W1 m7 OMemory.defaultHeapInstance = HeapMem.create(heapMemParams);, S9 B: H5 g6 G8 Q
7 z- g, y* ^1 m, P# ]/* configure System module */
/ F. O& G' G: I$ V, i3 L6 c& A8 \var SysMin = xdc.useModule('xdc.runtime.SysMin');
' W1 `% i, h8 h$ m. Q; Q, cSysMin.bufSize = 0x1000;
9 {& n! q; |# r" H. sSysMin.flushAtExit = false;
; G- h8 b9 m' l% p) |4 i6 r( [ x/ L A) N1 f2 L8 ~. L
var System = xdc.useModule('xdc.runtime.System');& ^+ Y0 A2 b! B# F- S
System.SupportProxy = SysMin;9 a" l, t4 f$ k2 w' U( a* l: I; R
2 w$ R* q# ]) o7 i2 j# Z: r$ Y& |
/* configure SysBios to use the lower half of Timer 1 */
( v1 H- j1 H7 Bvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');* d9 ]/ l. a4 l) ~
var Clock = xdc.useModule('ti.sysbios.knl.Clock');# V" r; c7 Z( M$ k- z
Timer.timerSettings[1].master = true; G. B7 h1 D' p# Y5 t2 s; J; \
Timer.defaultHalf = Timer.Half_LOWER;. O9 S7 Q& O( @3 f, z
Clock.timerId = 1;
/ U& k, t& [" L5 q6 B$ M* y5 T# G7 z* c
B: n( F: u4 Q+ Q$ R0 N/*3 D6 b/ s& c, \
* ======== Miscellaneous Configuration ========* z4 v; K* `& R4 @
*/
7 M% a; L6 k3 E. ~. W: A D: z$ d
) F, u9 H3 |9 M3 N- ~6 m/* set default diags mask */
+ u2 x) V; v0 K1 h& }5 Kvar Diags = xdc.useModule('xdc.runtime.Diags');5 N6 {8 K: s* R# q- P
var Defaults = xdc.useModule('xdc.runtime.Defaults');
& O; F7 g/ I, [, ]+ R4 W( M9 T6 f' B1 ]0 A: n; i. B- r/ z5 ^" d
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
+ R9 O" j+ E2 {( M) aDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
6 q* ~& [; I! S% e1 J3 IDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;3 h1 N# P2 v2 ]; T! p# W- X
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */% \- R/ t( w+ Z- e
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; R+ a. A& d+ I* h' S& HDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;# ^4 H8 A8 F8 ~* Z8 [
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;5 P7 d/ ~( M( _. z
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
0 k0 D: }4 E: `" i& n$ _Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! J3 l' ~* }$ F1 SDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
/ Q' ^ o7 ^+ v) b7 EDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 @/ ]# I# F; EDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" `% P% W5 {0 f! Q4 l4 UDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
3 I0 s* r/ W2 W8 t' N' _2 TDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 X4 Q+ e1 Q3 W& u
0 y, R5 L8 m5 _+ `. ?3 `; p8 q/* override diags mask for selected modules */+ e) N1 J* q1 s, |" @; ]* k6 r
xdc.useModule('xdc.runtime.Main');. }0 V! U6 B; a
Diags.setMaskMeta(
6 k8 F+ P/ Q ^1 Y, l% h B6 u "xdc.runtime.Main",
+ `$ f) x$ k& i# ~% Y+ t, S$ ~) O Diags.ENTRY | Diags.EXIT | Diags.INFO,
6 J% E/ V! f# H2 }5 l Diags.RUNTIME_ON' t* ~/ c, [5 A: W5 S3 F/ I
);) H( ^6 d& c7 ]4 B# p
9 i; U; `# A. w9 \& `0 n' cvar Registry = xdc.useModule('xdc.runtime.Registry');
/ F( V* S3 R# t& s; e6 ARegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
2 G8 }: i* g, U6 I- h( c$ CRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
4 ~+ O0 M1 s; |( U+ j; rRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
- f9 h) }+ T" `( m6 {2 j) mRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
' Y. G/ ~+ o! n. T' { w
& @: ^7 D/ u1 F+ C7 O/* create a logger instance */& z- Y5 O, S9 Y9 ~; ^7 _9 g; L
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');$ B$ z3 l8 O' a( M- q4 l5 W
var loggerBufP = new LoggerBuf.Params();$ ?: E) K* ^) U
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
% ?: Q5 e( C* m/ n) TloggerBufP.bufType = LoggerBuf.BufType_FIXED;- u8 Y. t) `4 B" b
$ h: R9 l9 K6 P1 V, Yvar appLogger = LoggerBuf.create(loggerBufP);
8 q0 {* F4 Z, ~# happLogger.instance.name = "AppLog_Core1";
) I$ U; C; W* {0 MDefaults.common$.logger = appLogger;
$ K) V$ o5 p6 V8 r/ yMemory.defaultHeapSize = 0x8192;
1 k& W, A" Y% g; oIdle.idleFxns[0] = "&LEDStatus";
& }5 u0 j }+ @2 O" bCache.initSize.l2Size = Cache.L2Size_32K;
! A1 q& y/ C, N4 t: t% @% V' O- Y, [7 \' z0 r( \
|
|