|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
6 S& f1 L" @4 y1 y我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
2 i; {$ z5 x! g$ A a$ C& S1 z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
. A9 ?# B0 b5 c$ R ^
, `- @7 k8 k6 M8 T+ z* n8 V是不是需要在DSP.CFG中进行配置
n' x+ @0 Q. w9 k我现在的配置为6 @1 N/ i @. q- @
" |0 H! p+ X- z% U: k! n3 l/*0 I/ @# n: K) _) P5 r# L9 e1 w
* ======== Operating System Configuration ========
( ?$ k; j: z9 U0 l */5 D% v' f% Q: v; U
( S) g9 G1 D1 j/* no rts heap */
$ ]) d- V c: |$ k) `Program.heap = 0;3 M5 U# A" I6 H+ i0 I- E
Program.argSize = 100; /* minimum size */
M6 u) o# |2 E* B- `1 e- |Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 p5 p7 a+ h/ X$ z& S6 q
5 l H4 \7 Z8 v3 o4 Z0 y# I/* create a default heap */
/ e: t: _6 X+ R$ Svar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& X# O, |( z4 l, k
var heapMemParams = new HeapMem.Params();# }. @# t: c" i/ y* q5 S, T
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大0 v3 a+ m% w, g# ?0 B1 K! H) f
7 H" h5 }: H7 U& B1 Evar Memory = xdc.useModule('xdc.runtime.Memory');
, Y- {2 P, Q; o3 M' J2 VMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
- z, Z: n* S. p6 [ `6 b. _' l0 r
2 O3 u* {" s! E) j+ T* V3 d" b- s/* configure System module */7 I$ p, O% v2 g; j* i# A8 Y
var SysMin = xdc.useModule('xdc.runtime.SysMin');
* V7 E0 k! M. V! u, w! aSysMin.bufSize = 0x1000;
2 |% u2 _2 |% D" dSysMin.flushAtExit = false;# @! w0 ]- |- y f$ I" b$ x
- h. f, J0 C: i4 o: \5 `var System = xdc.useModule('xdc.runtime.System');) ~$ h$ b$ b1 \+ G7 b8 b
System.SupportProxy = SysMin;1 I' U* Z8 L' L3 G$ v; W
X; q1 O m" \- s' h/* configure SysBios to use the lower half of Timer 1 */
# v( E: O; r+ \& `$ ivar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
; P& e7 ]% z9 E; l; ~( svar Clock = xdc.useModule('ti.sysbios.knl.Clock');
* q8 b6 f$ M8 D# g. x0 Y$ x6 ?Timer.timerSettings[1].master = true;
* W7 t2 [1 |4 cTimer.defaultHalf = Timer.Half_LOWER;
^3 s; w+ H0 E& K% i6 e% kClock.timerId = 1;; |2 l2 {9 ~6 n# y8 K
, s8 f E6 J( |# l, m# t$ Z% X3 E5 [; v2 J$ T/ E
/*- H* ]1 @( h5 w l: u) r
* ======== Miscellaneous Configuration ========
s: X# k( x+ J( f! ` m */
" ^4 P* n. C% p1 v3 m& Z# P; q
6 s- G/ B: b8 @/ |% U" o/* set default diags mask */% L7 w* w. L* R# k' `% I, U
var Diags = xdc.useModule('xdc.runtime.Diags');
: }* c8 j+ \8 a# jvar Defaults = xdc.useModule('xdc.runtime.Defaults');" ^# T4 w, ^$ @6 c: O& m# O
) k4 e3 P: y9 y: \" _Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
% N! B3 \; ]* m3 w& tDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF; k* ?$ k) E/ w7 c* _
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;& j2 A9 u% B' f) y
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */1 j. p+ ~2 @$ h* l) I
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
, Y: Y5 b' [3 Z0 UDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 Y9 n" ^% C0 z5 O; _
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
( ]3 \- h$ Y' ]. @5 I1 Y( ^! c+ j" v- t( ODefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
& N" ~7 c4 }5 L! O; yDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
9 ?& B) l1 g. F0 _9 vDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% Z( A3 J4 u7 ?' C1 Q6 A5 m
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
2 \- s/ j/ X3 S) {5 K8 ~7 }Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;! @' W* d2 P& a0 b
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
- s+ c- G. o1 r% DDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;: \/ w" h" C. r3 p* O
: R9 I5 k- J0 y: G' q9 J/* override diags mask for selected modules */: O' K+ e9 y1 W1 F# O; A8 t' g
xdc.useModule('xdc.runtime.Main');
. u' I8 |$ F9 h0 R0 I4 r# XDiags.setMaskMeta(
/ K6 w6 l {. t6 @/ Q "xdc.runtime.Main",
1 x' z1 R! [# k) h4 Y2 V4 J8 G Diags.ENTRY | Diags.EXIT | Diags.INFO,3 c/ J) _) U2 c. g) @8 ?
Diags.RUNTIME_ON
7 e' Z; Y" G3 Z" \6 t" |1 W; U) T);
9 p/ H$ r8 u' c$ ~
# ~' } b; t9 Z) [' b% Y4 I5 V- cvar Registry = xdc.useModule('xdc.runtime.Registry');
$ L- Q- b* i- D+ j% fRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;; V- D. x# ~; @; Y8 o
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;% {$ ]1 U+ i( x* m# e
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
' [! T/ h, \& m4 J1 ^Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;( n" z: b1 c/ E
2 M" u# p3 |& N- X/* create a logger instance */
" [( B% N7 H! |- B" q2 a; Cvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 M' o& j7 H- W1 @var loggerBufP = new LoggerBuf.Params();
/ j7 Q) d W2 f3 [loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" c0 a7 f' [: G: k7 H4 c/ s
loggerBufP.bufType = LoggerBuf.BufType_FIXED;' V+ D, \3 Q7 _' {
9 P8 R, U8 t- N! ^: ]
var appLogger = LoggerBuf.create(loggerBufP);0 ^2 F2 v3 I& ?, v8 j
appLogger.instance.name = "AppLog_Core1";6 C7 O. G$ k* g
Defaults.common$.logger = appLogger;
2 b$ |! I4 c/ Y1 _ T# _+ X5 T+ K2 W- oMemory.defaultHeapSize = 0x8192;
! k5 X( x b1 iIdle.idleFxns[0] = "&LEDStatus";% B, |1 u4 A9 Q: X
Cache.initSize.l2Size = Cache.L2Size_32K;
/ E, J R0 A6 p3 F
& s9 U( u. Z5 G! T! R l |
|