|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* Z* h. c( i% ?9 ~* H t
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ T4 T5 K9 w* l4 c6 |# w, f2 C1 g c& m! g. z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& e8 ], G* E8 o l! U( r. I
: @, F& c4 |8 g5 Q/ k( B: h/ t是不是需要在DSP.CFG中进行配置- ]6 @$ A4 i' q$ W+ N/ \0 V
我现在的配置为9 D* p. ` S5 u" Z' `3 S9 n% Y! n
% p4 [( \$ j& [5 O/*
+ P) a! _! T+ j, ~* y2 q * ======== Operating System Configuration ========
7 P: [7 n4 H$ l* O* R1 Y) ~% X */
) e$ H( C8 n% F9 b9 }, @1 ?% K' g
7 q0 n3 L2 P# r3 \2 N+ | J7 i2 q/* no rts heap */+ T' y8 J. V6 s3 R3 Z' u
Program.heap = 0;; d6 m( ^4 F* S5 p, T! ?" \; {
Program.argSize = 100; /* minimum size */
. y. A8 E O* ?/ \Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
6 P: }; i9 S( I5 L9 t: r% M) |
2 q, e5 J/ J$ l* k) B/* create a default heap */
: E: ^4 [. S# {8 x: u- rvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 W" B u% E: ^var heapMemParams = new HeapMem.Params();: a; P" J0 o6 V3 s# P
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大. Z" _# J; S# J+ q' s1 b, }2 @
8 N0 K. W$ N5 A8 t
var Memory = xdc.useModule('xdc.runtime.Memory');% ~/ ?& N1 L; q8 W
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
! F9 {2 B$ m" |: c
4 Q$ ~+ I& I! S/ ?7 x$ w/* configure System module */% T7 {. s7 [$ [* o# e
var SysMin = xdc.useModule('xdc.runtime.SysMin');: F5 |: g5 N8 s9 W
SysMin.bufSize = 0x1000;
7 F5 \: D' R, fSysMin.flushAtExit = false;
) h; e& {9 Q8 x! l
' {( t! y' {* ]var System = xdc.useModule('xdc.runtime.System');
" ]5 J1 I v% T& ~3 \% u pSystem.SupportProxy = SysMin;5 R, S* u& l: _" J6 \- o
) S1 d' \, x7 ]& Q7 n5 V8 M0 g. v/* configure SysBios to use the lower half of Timer 1 */
# z. p, @( z7 s( U# z, ~) lvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');& u- }8 |9 a: p4 j+ T$ B
var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 [( ?7 y x6 f7 M; K9 X" O8 x
Timer.timerSettings[1].master = true;
4 `1 E+ O( M% ?( [1 S: pTimer.defaultHalf = Timer.Half_LOWER;
5 K0 R0 a3 ?2 o6 Y1 nClock.timerId = 1;% O9 y/ ^! H \: P' e7 y0 \" y
7 V! O4 `- ?, u/ e# {+ v* O
0 q8 ?: {5 A, A. B% @/*
! G Z7 n5 T1 G; k& k6 u1 y * ======== Miscellaneous Configuration ========
e& U# B2 {+ Q( k */
& ]) l% n$ C8 D, E( f; l- C% w% F; \2 Y( ~/ W: K
/* set default diags mask */
% E* ~1 X5 Y% }/ @, qvar Diags = xdc.useModule('xdc.runtime.Diags');. c* z4 P. g2 y6 o- Q. b1 Y- }
var Defaults = xdc.useModule('xdc.runtime.Defaults');
$ l2 P6 W+ M+ c
, E; U' G% @" L; L+ oDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* W+ s# r4 Q. ?1 i: i8 ~Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
) N/ i) s# s" LDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
' V3 T; ~ l2 M: T" I5 y" X1 zDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
( y( r6 i/ W3 v+ o( R+ p' F; g; UDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */1 l. L6 B" H) z2 f4 M+ k# Q, W* f
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 \/ K7 ~4 {6 F* F7 Z% U1 F
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
6 ~. J# \" \; |Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;4 `0 p2 p) X3 W. J; w9 |" \
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;" k; V a% I' y1 O' u# o5 ^
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
7 K$ d6 i+ e# L( x# UDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! C9 {7 E* Z5 O( J! q6 iDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 x* \# |7 I- d* n" RDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
: I3 S" h/ X" uDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;/ F o/ z/ b& r. \) [8 b/ x( w
$ ~& X* }: v- G
/* override diags mask for selected modules */2 [. |$ m' L0 a* C& d
xdc.useModule('xdc.runtime.Main');; ~; E0 l1 S- g
Diags.setMaskMeta(
; }' g. T Y5 d0 C "xdc.runtime.Main",
' A8 A. s# n) w7 r Diags.ENTRY | Diags.EXIT | Diags.INFO,
4 `) a. [3 ~% t Diags.RUNTIME_ON( a: r8 a& ~7 t* w* U
);! T; t0 [9 _; T2 `
& N! e7 n3 z; P$ O8 j
var Registry = xdc.useModule('xdc.runtime.Registry');, j H! {# t3 Z& J
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: I# m# |/ y5 z# D
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;0 p; `8 a9 R. B6 `2 s
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
0 m2 ? u: l+ E7 O: s1 L( GRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 O: H ]4 A2 ?5 A" m) P* I c+ h3 m5 i# t5 ^7 s+ \- j G. }
/* create a logger instance */( e7 x. ?1 a1 x0 a& ]0 d/ e2 i( U
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) M8 W& n4 a% Y5 k% }var loggerBufP = new LoggerBuf.Params();
. x$ x; x' {& W3 O3 D, A6 DloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 z& @1 S6 S9 B! W& V
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
. v, J# F' Q* y/ Z3 g, H
) B0 A: |6 g4 H* z9 i0 _* O& [var appLogger = LoggerBuf.create(loggerBufP);4 P) s* F% q& O
appLogger.instance.name = "AppLog_Core1";
2 q1 {; M f, I, c) tDefaults.common$.logger = appLogger;
5 q6 V) ?7 s' {& u5 xMemory.defaultHeapSize = 0x8192; 9 c% B* ]4 K- ]+ E1 |6 e
Idle.idleFxns[0] = "&LEDStatus";; G2 G+ M1 ~1 X5 q# O5 E
Cache.initSize.l2Size = Cache.L2Size_32K;
: c- Y# Y. f+ _ p$ @4 K+ B l4 W8 r6 B* v! s
|
|