|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
0 s- h( l7 B8 r( d" B1 d. `我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下+ Q; q, L% y5 A7 }0 n1 N* E
(不过疑惑的是,为何单独DSP仿真就没有问题呢?): J2 D2 S$ D* V9 Y, V
% ^+ Z5 H& v. K& y) z是不是需要在DSP.CFG中进行配置
+ b1 V; V: U8 m1 N F) {8 O4 `1 w: b2 z我现在的配置为
$ l; T, e. ^5 w; s( B: ]
/ N3 Z* T9 F: ?7 }/*
8 g( G+ l8 X# i& i& a& I2 ^ * ======== Operating System Configuration ========
$ c m9 g& {1 N* f2 y8 b */
8 S9 u* r. r) l% u) L
. a- M, x5 K7 P, _& d/* no rts heap */
0 t$ A" h* b, n) Y; tProgram.heap = 0;1 ^5 R5 H% V, f5 J! P$ Q6 T( F: e( P
Program.argSize = 100; /* minimum size */
; c0 i& u" \ J* q/ e L/ wProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大/ ? ^ |8 g; S: }
0 q. ]; ]8 u5 w* }& g) J( i$ ?$ ^% ~/* create a default heap */
u. i0 x$ a$ L+ ?2 |var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');, g ~% B( ? J" D7 D
var heapMemParams = new HeapMem.Params();
0 k" y1 }; P0 N8 DheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大( Y7 D$ R) H. G8 A% s
; H7 C" Z p: D! O' l2 Yvar Memory = xdc.useModule('xdc.runtime.Memory');
+ R) W. q' ~; Y: j A% i( ?. pMemory.defaultHeapInstance = HeapMem.create(heapMemParams); Z' y& v/ _* G. C
9 {8 |5 a; i1 O0 M6 q Y
/* configure System module */ S( z4 T# C1 [. k0 ?- A. _
var SysMin = xdc.useModule('xdc.runtime.SysMin');3 K3 U0 }. K! a# Z, j$ |
SysMin.bufSize = 0x1000;0 Z6 f" N0 S& W7 L8 w2 ~ B( _
SysMin.flushAtExit = false;* \. x+ L: s$ n9 m0 R
0 M2 x* a) F/ U
var System = xdc.useModule('xdc.runtime.System');
8 T! C( A. g1 j GSystem.SupportProxy = SysMin;
" P" t( X0 o1 e1 r. b+ t% k
4 ? o, A+ i* N1 P/* configure SysBios to use the lower half of Timer 1 */
$ ^3 `9 T, E% `var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');& `! `1 a! G, r4 u
var Clock = xdc.useModule('ti.sysbios.knl.Clock');; c& a1 ]3 O1 I3 d2 _
Timer.timerSettings[1].master = true;$ d/ Q' I+ Q8 ?$ D9 e% `
Timer.defaultHalf = Timer.Half_LOWER;
" l8 U( |, t6 J- C& XClock.timerId = 1;
5 t2 X5 P8 }2 Q3 ]& V* j, L4 E
$ @) f! _# P2 `( |9 x) e7 C( \3 j% H- A8 w$ A4 M1 g* m
/*2 {6 O* T2 i! G* Y" [( s
* ======== Miscellaneous Configuration ========# ~7 Y( p! N6 O3 {% U5 n
*/1 k2 T; {) ~7 G' D3 y
. }6 V2 g+ h. z5 s* _
/* set default diags mask */
6 ~6 i; Y0 ] vvar Diags = xdc.useModule('xdc.runtime.Diags');3 k# N5 q) f' I2 `0 ?2 B- F
var Defaults = xdc.useModule('xdc.runtime.Defaults');
! n( x1 y: d- r9 ?! z2 y# n% f- X7 M; e5 [# z
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;# x& x9 i4 Y4 L2 |' h! R; _) l: [- H% x
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
$ \. b2 n3 S5 cDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;% u4 c: o! Y7 p2 J
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
{% g, I( L; fDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
4 s+ p8 G7 T9 Z2 u/ O& {3 ]Defaults.common$.diags_STATUS = Diags.RUNTIME_ON; Q8 e( d4 O0 o) w3 h
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
& |% w. Y2 s* TDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
2 f" n0 I& ?. h, F4 w; W, ^Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
6 ~$ X4 U. F* E+ d4 UDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' o$ r7 w0 `9 y. b' i" M0 w; u7 qDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
; Q( ]3 k" V# QDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
# X$ t5 }! g$ k+ e4 J$ H7 M+ jDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 |9 A, }6 _) A1 HDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# A- y3 F) {; H; r: e
% L4 B+ W1 o" ], P( a# E2 o, ~
/* override diags mask for selected modules */
7 J6 Z! C, V& s [3 |( f. ~xdc.useModule('xdc.runtime.Main');8 B, e8 q7 b7 g2 N* f$ p1 z
Diags.setMaskMeta(
5 Q2 a2 D- _( J3 ?& O, | "xdc.runtime.Main",
) ?+ o8 ?5 t! a0 _% U( N Diags.ENTRY | Diags.EXIT | Diags.INFO,
z- E _& u2 p- m Diags.RUNTIME_ON0 T( @0 \# ?- s, K: s L, j
);
. w8 B/ s: q8 ~- l/ C$ o, ]
* r% [$ j0 ?- ]+ O3 ?, U7 ^var Registry = xdc.useModule('xdc.runtime.Registry');
k9 x; F. G' ]0 Z5 P4 ^Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
) X9 W6 P S. Q/ XRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;) H7 H% ~* H+ d) ]% n; A$ h& d3 e
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;0 b$ b" t% t X, i
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;% e$ H. }6 {+ F; \+ [# Z3 }
; }- t; C( T3 A$ ]+ M2 m
/* create a logger instance */# U3 u: F% g3 j! {( x# [/ M
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 o6 y) ]# T3 b: D" bvar loggerBufP = new LoggerBuf.Params();% p9 X. u/ ~" r; F
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */. D' u* f4 C7 C7 k# p6 h' o
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
$ B' B* M, y8 O% {
5 K2 _) Q4 N! ?- q1 o ]var appLogger = LoggerBuf.create(loggerBufP);
8 }! H7 z! ^8 x$ m X ~* B" MappLogger.instance.name = "AppLog_Core1";
n, G8 w. |/ C% UDefaults.common$.logger = appLogger;
; k. J4 t5 Y$ R+ O. y6 kMemory.defaultHeapSize = 0x8192;
# `8 c9 V8 e3 @ nIdle.idleFxns[0] = "&LEDStatus";3 f1 Y" T! Q. E% a& R& r
Cache.initSize.l2Size = Cache.L2Size_32K;
; n& e, H& @4 ?. N B8 A5 j. X* _* B* u4 Y; c
|
|