|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明$ B# W/ y* Z: H) j; Z! G
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 e: b" _% g( ]
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
1 k& U4 _4 q& |3 ~$ }7 Z7 L
$ F) I3 p3 M( N; E7 \# `6 @是不是需要在DSP.CFG中进行配置" O7 `- V* O W: ]7 k; t
我现在的配置为
" f/ ]' h& y$ U
0 K4 L5 u7 f, P% H& k/*, @( L+ D( G7 q E4 a2 y6 Q9 c& b
* ======== Operating System Configuration ========
7 k/ r. a! o8 x4 t1 \ */6 p: h' Z2 f7 i, }
0 `2 |' [+ Y( I2 y& O/* no rts heap */
; `! W! i5 h/ z, ?( D9 ZProgram.heap = 0;, c1 C% S! {- `3 @
Program.argSize = 100; /* minimum size */: X" S# P) b S5 @& W
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, P I6 q: ?- u, U; c2 p7 e& E$ c$ D/ x! L2 V; g
/* create a default heap */
7 T' X+ [3 O" I* @2 M! gvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
, B/ p1 Q0 |6 U4 v" `6 gvar heapMemParams = new HeapMem.Params();
) Z+ b( h `$ A+ AheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大; V" f5 {6 q q; `6 F+ ^2 c4 |
J+ J9 e4 ], {5 w" x7 s; rvar Memory = xdc.useModule('xdc.runtime.Memory'); K; \9 s3 c; n; A& v ^: r) n
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);: ^; g4 ]+ \1 d: U9 @
4 |8 G- O0 o# z2 V; [/ e: G9 {8 B
/* configure System module */
+ U8 z5 @' e0 X1 b5 S8 J5 {: uvar SysMin = xdc.useModule('xdc.runtime.SysMin');
0 a% R/ V: O$ w& [5 s6 ~* j. BSysMin.bufSize = 0x1000;
! W+ Z' H# P4 D/ d3 F1 kSysMin.flushAtExit = false;! B) g% C* e3 j: d+ L6 ~6 O
0 J ?! U6 B8 q. y* }" J
var System = xdc.useModule('xdc.runtime.System');# T/ h( _; {, |& m0 \
System.SupportProxy = SysMin;
! m x% R+ D2 e" o s* ]1 d% c6 q/ V7 I- h
/* configure SysBios to use the lower half of Timer 1 */6 }0 p: T' R r# a5 p# a4 a
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
; U% _9 W3 s# Q. V+ Bvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
$ O9 }& N% Y5 o9 E- C9 NTimer.timerSettings[1].master = true;( i1 Q. ^' [9 G/ E$ q3 T! N
Timer.defaultHalf = Timer.Half_LOWER; F2 n5 Z7 J _3 o3 S; H0 ^- d% q; E
Clock.timerId = 1;
% \* t. M \$ m6 J# `/ Q5 i1 @0 {( W! x% j/ p0 J
I% I. r0 m4 ^' N" [1 E. [
/* K6 t" w* \" Q/ f" T& P3 g
* ======== Miscellaneous Configuration ========& \. C7 ?- {7 U/ j% J" b) g2 s
*/
; z+ r7 S! j4 b( Z3 w1 A: ]/ H: S* K
/* set default diags mask */
) L6 j" b: e3 r5 A" l' [8 y/ rvar Diags = xdc.useModule('xdc.runtime.Diags');: l" s y5 n8 Z
var Defaults = xdc.useModule('xdc.runtime.Defaults');
/ `; q: A4 A, H. r: I$ s
- H$ Y3 J! [- _5 a4 Q3 y2 L- pDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 k5 R6 f* d4 ^: u0 S" B
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;, ?- B/ E8 j# F6 @7 s& @8 F
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;. J6 J2 p& h! T* [" V
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 z3 u2 R) d; s
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
8 z# |( T5 I- WDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 t) j: t2 T4 E" z
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;5 `' k1 H6 m' J8 s, I1 H
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;1 }8 H* d( H# b9 F: y' h" y
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
( g0 _! O% x4 |3 f0 C" }0 uDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;. s9 A0 {; B8 N W# c' s
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 @/ J, u1 L1 V; q# Z2 P4 L
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;8 m1 _6 u. f% }& u& q3 R, R
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
$ n" O/ U! c. B' u7 jDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
5 M& a: J6 G m, l! R& S+ K" ?
/ _. X& Z7 K3 N$ e/* override diags mask for selected modules */
6 J9 H/ I! {6 c% f4 sxdc.useModule('xdc.runtime.Main');5 b9 o& n! `' A0 }5 d2 N* S0 K
Diags.setMaskMeta(
2 `$ [& N- A' M+ H. r "xdc.runtime.Main",. b% V8 I, G2 i: d! _2 W% x; A
Diags.ENTRY | Diags.EXIT | Diags.INFO,
' {1 @4 K- v8 b. o Diags.RUNTIME_ON
6 k& K" I5 D2 p: J( E);5 M/ f4 M5 }+ e; h8 ^
6 }3 p7 |1 x$ \* H! xvar Registry = xdc.useModule('xdc.runtime.Registry');. z8 q% B( N6 n, Y
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
9 }/ u8 x8 A" k8 SRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;/ F0 k \ K" h! [. i
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;+ Z1 Y" n/ v2 h, l- x& P- N
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 b9 D* |. |9 C1 T- m1 t3 q
, J) ? g$ Z# ~/* create a logger instance */
$ `' R3 Q: y) R! F& Gvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ o! r: } S9 W: z4 ^var loggerBufP = new LoggerBuf.Params();% X8 @. L# u S# o) b+ z* D6 D% z) s
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! I6 N& q6 n2 m; Y# L9 d/ C
loggerBufP.bufType = LoggerBuf.BufType_FIXED;: b; C3 J. k# l5 y- X/ e1 ~/ D
- E9 G C c& N4 m% }var appLogger = LoggerBuf.create(loggerBufP);
M l0 v3 ^' l4 |! fappLogger.instance.name = "AppLog_Core1"; b, P. k# p/ F' |" O R' R; @
Defaults.common$.logger = appLogger;
6 l# i5 R- ~" p3 _Memory.defaultHeapSize = 0x8192; 8 y0 N* Q% R9 b G2 u
Idle.idleFxns[0] = "&LEDStatus";6 z7 k4 J* @# A4 l8 W* f: u0 H
Cache.initSize.l2Size = Cache.L2Size_32K;
" x- r- y o6 J
, c& z5 O' X5 |1 R, A( N3 m |
|