|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明$ l ~# V3 ]/ w2 Z6 _4 P
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
8 M9 S9 Z0 z" x4 y W(不过疑惑的是,为何单独DSP仿真就没有问题呢?)! Z$ s" t0 q" i6 f
o6 b/ m' t4 n" ?4 \: ?
是不是需要在DSP.CFG中进行配置
d; a+ k$ l3 ^9 W: ~ Z k0 I+ X: X我现在的配置为: n$ p" ` b2 V9 u
( D; m; a- `' T) J) z
/*8 R* K' z5 Q4 x7 E8 H2 `/ L* p
* ======== Operating System Configuration ========
) g0 R- e9 U7 L6 V */% A: n6 T; o: o7 s- a5 E \3 u
0 S7 P( H) g# ^% M" r8 u' `" X+ \/* no rts heap */
/ N2 f" q; E/ IProgram.heap = 0;
) E8 f! |" H( pProgram.argSize = 100; /* minimum size */
# v7 D+ y0 c5 \% S: c @7 aProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
# ~: X6 f+ s! y! b
0 ?$ v4 F/ n1 \ l" @/* create a default heap */* L' v; G4 E! h4 v( I
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
2 J! L; q* m- |7 }, B& fvar heapMemParams = new HeapMem.Params();
; n/ o/ y8 x- w& D) cheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大! A7 ]. S: Y, L/ E3 S5 G$ Y2 a' ?
4 p @* Y. T6 V8 w9 @ s6 t6 [8 e
var Memory = xdc.useModule('xdc.runtime.Memory');6 U2 W5 ]; n" U2 f9 }
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
1 S7 u7 h4 @+ M- I! `6 C1 Y1 H3 U( h8 @, @0 D2 b. a; E
/* configure System module */# @" U( M6 Z9 f' ~9 Y% ?
var SysMin = xdc.useModule('xdc.runtime.SysMin');
$ _: Z! ~4 j/ A2 vSysMin.bufSize = 0x1000;/ A& a) X* U9 a* _ |5 C
SysMin.flushAtExit = false;, u2 y, V2 q& [
$ ^$ b3 N1 [7 I% I" P7 I
var System = xdc.useModule('xdc.runtime.System');) d8 O- C6 ~! O$ V. I
System.SupportProxy = SysMin;) w# _ [8 ~3 X
& @$ m5 f8 k: [, K/* configure SysBios to use the lower half of Timer 1 */* I% r% Z+ L/ R/ p3 E
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
2 p7 `% z7 V. p$ G; dvar Clock = xdc.useModule('ti.sysbios.knl.Clock');; q6 Q5 b% ?9 H: R3 B) @
Timer.timerSettings[1].master = true;3 E ~' R! b! x T
Timer.defaultHalf = Timer.Half_LOWER;8 H( E8 [6 I1 F7 l* N. H
Clock.timerId = 1;4 ?3 g0 Q9 O5 E7 H8 E. G, {. R! Q. \
& t2 c* ^1 Y$ F/ @8 u3 M7 H p8 |/ u& |, u. _5 Z
/*& L7 ?$ S6 A q+ X2 W4 P
* ======== Miscellaneous Configuration ========1 P6 r; p# C! T, s6 e- _
*/
8 w9 ?7 V! o8 }: m' Y
3 H4 U4 O! B- o6 U( ^/* set default diags mask */* X# C. P: I1 V, O+ y
var Diags = xdc.useModule('xdc.runtime.Diags');9 _; i5 ]! D1 ?% q% h Q5 M& g& f
var Defaults = xdc.useModule('xdc.runtime.Defaults');' R. h' e/ r, e( Y+ }
# ^! ?) U B+ S5 k% U7 T8 M# FDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 d2 e# Z E2 B' s$ h! t
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
! l/ b( Z- i' a. R3 q4 t- {5 [Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* F" j7 X% o9 v" i8 J. ZDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 U4 O; K9 O% ~Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */" h3 Q. G. p7 z3 P. y$ {
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;; P% |( t( s @; m% s
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;' O# p& z2 i" Q7 u* S6 U& ?
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;" i! X) s& C: b, r
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
% o' ^/ s- Z0 e/ o$ E3 cDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
3 P9 M) Y. Q$ s/ ?Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;+ h4 M: G3 Y& p" e1 w
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
% x0 Z0 I2 P; r) h( P" j" }7 FDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& X! u! E$ q' D5 n9 {; fDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 I ?" w; x+ J6 B. H. i$ {3 t
* Z- i K/ B* p. B( s
/* override diags mask for selected modules */# i) I: P0 Y1 c# C
xdc.useModule('xdc.runtime.Main');) X- q/ p+ d m( E9 _# I
Diags.setMaskMeta(& {/ j4 }3 L$ y
"xdc.runtime.Main",
) Q* |$ u/ s, B( g6 V5 L- W+ U- c Diags.ENTRY | Diags.EXIT | Diags.INFO,1 ?% G8 v$ \& O7 J- l8 j8 L4 E7 I! r, t
Diags.RUNTIME_ON9 y' v% n3 O. N. r$ ~4 u! ?. ?& \
);
4 @5 C3 v* C9 Q7 W! A9 [' Z' g8 v. H8 n ?& R, c7 U
var Registry = xdc.useModule('xdc.runtime.Registry');
+ V0 y, E9 R# g0 d2 A" u, |Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
3 E3 w/ d& ~; xRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
+ T) P& A$ C( Y( V1 }1 vRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
: M( e2 ^+ ]. ?8 b# y; w- LRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
' e% u7 i8 ]- d, \0 z! H# k L: ?9 `5 z! g5 ]" Q: }5 \0 i. c
/* create a logger instance */9 t! [: r6 D K6 X1 b
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');$ W. b: r7 j; h9 t% F, G
var loggerBufP = new LoggerBuf.Params();; Z2 ^7 t, F# [ E$ I
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- r, R @- O/ Y/ g9 TloggerBufP.bufType = LoggerBuf.BufType_FIXED;
( h3 o, b4 b( G$ c0 }, |9 Y9 w! i
var appLogger = LoggerBuf.create(loggerBufP);
& ] b7 E- d W! x( B* uappLogger.instance.name = "AppLog_Core1";
7 y q: l2 F6 d1 L1 P0 HDefaults.common$.logger = appLogger;
/ V& ^5 x+ N# m. v% O" @+ @Memory.defaultHeapSize = 0x8192;
- O$ Y- ]% h! _Idle.idleFxns[0] = "&LEDStatus";4 v7 l1 R$ n, ^7 K& e, c- \6 O" i
Cache.initSize.l2Size = Cache.L2Size_32K;
. T3 ]3 [& Q& ^% U
: F0 |2 w4 d1 ]6 i, u( B$ N |
|