|
沙发
楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
$ n* r) d( g2 D& k我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下( |$ E+ c& R5 H' J# r9 X
(不过疑惑的是,为何单独DSP仿真就没有问题呢?), @5 l7 y* {5 y! q r1 U2 ~( x
, y# X V/ p8 l: L8 D# ?
是不是需要在DSP.CFG中进行配置$ o' D0 m; k9 n0 b) \ C$ W
我现在的配置为 b$ I6 k( d1 J
% k& L! ]: \0 L- \/*" f! F* E% E0 R6 e; }
* ======== Operating System Configuration ========* K! L5 @: P* f$ Y9 o, n7 ]
*/
% N$ ~ B O' N/ T2 F' ]0 L" b
6 N" G4 j, G* z P: |( W- L/* no rts heap */
" j, a4 a3 {# @* k" \Program.heap = 0;
- t/ B! {0 ?7 d& `+ f! u8 YProgram.argSize = 100; /* minimum size */1 {4 L: ]# k- k. w
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
. w) k% U3 n2 H+ w" m% }% r$ ^# Z* P. N& x9 l+ {6 P2 _
/* create a default heap */' |/ r8 J# ^0 m1 r& I H+ d" y# W9 t
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' Z6 M5 q Z) {1 nvar heapMemParams = new HeapMem.Params();
! K0 R8 u9 p8 L- J( O- FheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大6 W# X) ~, Z3 M, p6 I7 v: q& ?! i
! T0 k/ f: w3 j* B& J' j# dvar Memory = xdc.useModule('xdc.runtime.Memory');7 @/ x Y2 Z% g& X
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);, }/ [2 H% {! D5 H' x" e
1 P4 x/ S; g# d* O5 M3 D1 B" }- [/ K/* configure System module */
2 p. D) I& \4 t& E" `& L3 V' S% kvar SysMin = xdc.useModule('xdc.runtime.SysMin');
: Z' F3 W' j; D. t1 \SysMin.bufSize = 0x1000;" B8 U! D- A2 v7 g5 H, K
SysMin.flushAtExit = false;, S: a7 E5 ?3 _- Q3 x& @
! x; e# m6 i1 r6 w1 j$ N- G8 [var System = xdc.useModule('xdc.runtime.System');* R- |4 f0 Z/ m
System.SupportProxy = SysMin;
% g* m% |5 I& ^$ I- [- N1 c% i! m$ v5 L
/* configure SysBios to use the lower half of Timer 1 */
, P) [5 i/ J$ ` G. J t0 `9 o1 @var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
% \( x+ ^4 @$ r( {0 m; Mvar Clock = xdc.useModule('ti.sysbios.knl.Clock');! O5 [3 |/ [* S( N+ l! m/ T" E6 N! p
Timer.timerSettings[1].master = true;
7 D$ `6 X- v; v/ ` I8 eTimer.defaultHalf = Timer.Half_LOWER;
i+ W. z. l$ {5 B4 KClock.timerId = 1;
0 W( ^! }6 ]- o7 d, m6 }- h
$ A3 y2 g/ p- f) I* Z3 T* |4 P4 _' [ p5 v9 V; H
/*
- o+ T R- i- [2 A# ~. Q+ _ * ======== Miscellaneous Configuration ========! H" x8 S& r# V3 _0 K4 _
*/
& d& N) s L$ n. u9 c6 z' k
/ z+ X6 W8 [, T/* set default diags mask */
7 Y" s+ \ R& Z: C: B! B/ a3 T) L2 pvar Diags = xdc.useModule('xdc.runtime.Diags');: s. G' E$ y- Z5 H
var Defaults = xdc.useModule('xdc.runtime.Defaults');
0 J2 ~5 a3 N+ G9 Z# x; Q& s* c* C, n
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 F0 }, {1 i" s _Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;" g0 n9 F, l/ W+ V$ ]
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- I! { `3 b( {& @- H8 R8 r
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
2 @2 x) s) E" A2 hDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
4 d, j2 ]2 n- a. [0 NDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;" g; J* ^3 ]% H% F3 T( G
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;! |2 S* j7 ^2 F
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* T; a! a Y. o% |* b4 Q% h& g5 V
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;0 E; N3 \+ Y' E! |
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;5 h) o, k2 x: H; b1 @0 \# I, u
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( d$ K: u- ` O! z+ f
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 K$ l9 c+ w( {3 A0 A& CDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
# s8 j) u7 c8 Z& Z- l8 A0 vDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" A$ J9 V. h" U
, c. \9 r! r+ {
/* override diags mask for selected modules */
3 ~& V- f7 L5 H0 U7 B6 Dxdc.useModule('xdc.runtime.Main');' u2 b: j6 A0 A7 _; P( P
Diags.setMaskMeta(
7 o% C" P8 U+ z+ s$ Q* {# z: I' w "xdc.runtime.Main",
7 y; x! T$ Z( r- M Diags.ENTRY | Diags.EXIT | Diags.INFO,$ m( ?$ w4 z! Y) s
Diags.RUNTIME_ON
@) U8 B9 C- R! y+ h);/ C+ C) g$ V; [# }- k' k8 k
. G. k2 m: v$ V: X6 k, ]$ o1 t
var Registry = xdc.useModule('xdc.runtime.Registry');
4 t9 W+ a1 b0 F3 n! ARegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
( d1 j- D0 S d) {Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
) E W* i% I) P0 p* K* h2 kRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
/ T* @: K9 u: [6 JRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;% l" A# W$ t, Q ]- N% o) L
* V R5 C; l- [* w x/* create a logger instance */
* z0 o* b' \) V& ]4 A5 ]var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');/ ~: f* [2 s' J; p" J. T/ f8 F5 t
var loggerBufP = new LoggerBuf.Params();% N7 _- M% I1 q
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
! u: j+ e( U3 c+ ^$ {0 V: X4 W; QloggerBufP.bufType = LoggerBuf.BufType_FIXED;
1 K* o& e% I) p B* K! P
8 j" O3 n5 u) W5 ]$ o1 c* Avar appLogger = LoggerBuf.create(loggerBufP);8 q' K* Q0 `6 |1 t0 S
appLogger.instance.name = "AppLog_Core1";# ^% X: a- Y8 Y) D5 r a
Defaults.common$.logger = appLogger;
8 @% s! K/ U- `3 s1 iMemory.defaultHeapSize = 0x8192; 4 q/ S: B8 r5 A8 l+ t, `
Idle.idleFxns[0] = "&LEDStatus";& a, ^# B' Z( Z6 F) }
Cache.initSize.l2Size = Cache.L2Size_32K;
) _2 h" N# A3 a: D' Q$ g9 \* A. W! b0 _1 C6 M2 R% _
|
|