|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 K( M2 X8 R1 I' J
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
9 v! N8 D8 O; Q+ p, I/ F4 q9 c9 @; f(不过疑惑的是,为何单独DSP仿真就没有问题呢?)) T6 Y. G' ]7 Z9 c
% h0 }2 ]) s9 X2 E是不是需要在DSP.CFG中进行配置
2 N0 K) J. z- }我现在的配置为
1 l2 V% z; K R$ c. G4 b7 L7 a( W" d& V- w
/*
2 r% w' \$ R# l; m/ g+ A# h( Y * ======== Operating System Configuration ========( O+ r" Z$ ]/ W# v) q
*/ @ s2 i [0 z6 P7 P/ r9 v
: \' u" ?# Y* y3 ~
/* no rts heap */ ]4 _, [8 ^* Z: Q F0 A, w; Q
Program.heap = 0;+ \) F& k/ \9 X( ^4 w' A' E" I
Program.argSize = 100; /* minimum size */
1 i' B* x: d) R! w+ _1 p7 CProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大) h; H, u; w; O3 V: T$ ]! G5 ~6 h% J
' h7 \7 x: l" B/ l9 N9 K
/* create a default heap */) q6 e) V6 a G9 h' ]9 H
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
- X: r+ \5 B- u' ]% avar heapMemParams = new HeapMem.Params();
+ q. d# v. |2 g XheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大0 o& `+ x/ X% c- f6 v
1 a4 W$ F" u+ x9 f
var Memory = xdc.useModule('xdc.runtime.Memory');, A6 s' |! k6 d. d% p; g0 X1 K
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
8 f1 o2 q( X- Q# p3 s: U
; K& j: k/ ]' P- @" O$ O/* configure System module */3 |- |& ]/ A- ?. z
var SysMin = xdc.useModule('xdc.runtime.SysMin');# H- Q8 ]7 Z6 \4 A( C) h$ j
SysMin.bufSize = 0x1000; d& H' U4 } @' r1 L3 d% a& ? Q9 k& n
SysMin.flushAtExit = false;
+ h, O6 t4 b9 x: G$ L: z V7 f$ o* S$ h$ @# Z
var System = xdc.useModule('xdc.runtime.System');) c2 l$ C7 {6 M
System.SupportProxy = SysMin; |0 c7 [1 D& Z6 v0 T9 w- A
; a. _$ O" }' S9 l& I/ H( Q! f
/* configure SysBios to use the lower half of Timer 1 */
; K2 W7 R) ?! m$ R( zvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
% M$ t- g4 k+ ^; l* pvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
6 E# q6 F/ e" {' p$ v! f2 uTimer.timerSettings[1].master = true;
5 b' o! v7 s: V+ G8 iTimer.defaultHalf = Timer.Half_LOWER;
& D+ {9 E1 d# p8 BClock.timerId = 1;
7 ]* }5 O" F, _) S3 t- H+ F* [! x0 @* g' @
2 W" U2 Z/ i4 u1 Z! F3 [ A/*
) w# {1 Z3 i+ X i. ?/ _ * ======== Miscellaneous Configuration ========
& p8 G2 i* C1 C& _0 }4 s */1 B; d. D D1 o- A2 I$ T0 u8 y7 ^6 ^
; Z: u6 L( C) @/* set default diags mask */
: Z* l ]6 y( _& z2 zvar Diags = xdc.useModule('xdc.runtime.Diags');
0 m. }# Z' J9 h" x( [/ ^" C2 Pvar Defaults = xdc.useModule('xdc.runtime.Defaults');
# P6 b% z$ o/ W2 i( h3 P0 T$ A: D0 t" K C
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
& g0 w/ K0 ]1 I, U; i cDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
9 x) ^' X4 u: e9 C. Z( f8 mDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 y7 o3 a( W% u+ X
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */- y l. F9 H% t) L: q4 @
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! K1 H- y) j r& P$ ] `7 r
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 n. z4 b$ g" R( m! |0 vDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;. D; x* P& s0 y$ _ c
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
8 G. Z# x% F7 W+ G3 l9 h! ~Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;, X7 g% K) D% `1 ~! r
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: w7 J& D$ y+ C( WDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( v3 ?7 m( T5 w5 E+ e
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
, i+ s1 c" { A1 c! k( \( XDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;. ~3 f- S; r X* U0 V
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ X& R6 \1 F1 i9 O$ V0 C7 o
* P! [( Q1 z' W- d! t! Q2 u/* override diags mask for selected modules */
- V" P+ D |* _, \xdc.useModule('xdc.runtime.Main');; q2 [, l1 O+ V! ]5 @5 g8 \% c
Diags.setMaskMeta(2 j9 y0 C0 G5 e- u, c
"xdc.runtime.Main",
1 G2 d, X% S. w6 r' b Diags.ENTRY | Diags.EXIT | Diags.INFO,2 v8 ^( v/ s& P3 G$ ~. {- e, f
Diags.RUNTIME_ON
& ~2 z4 A6 ]7 h% y( ^3 O);7 [' W j( l, S& O! H& k% }) |
. P, i0 O6 t* v* @% q, Z
var Registry = xdc.useModule('xdc.runtime.Registry');
" c5 |& k/ @3 @# V& w8 ~! M9 \Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 ^3 P& z' z; T) ]4 Q! QRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
' Q g% c( o" XRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;- h2 W2 Z& @6 ?/ {" F# s' A9 r8 k
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. i; E2 ?/ b2 g# ^$ ], {3 W* }" D+ ?8 K8 a3 M, A7 X
/* create a logger instance */4 s8 I1 G" B& s% |1 E! @0 A) L
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
# B H: k7 x+ Y. y9 a7 ]var loggerBufP = new LoggerBuf.Params();: H W: A3 j1 m8 @: X8 E
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
7 ^; {' d1 I# k: n6 ]loggerBufP.bufType = LoggerBuf.BufType_FIXED;
3 N1 G* i9 ^2 l9 ^' E9 ]' h" w; G! o" B2 d) [, c: S6 z9 B9 n1 L& O
var appLogger = LoggerBuf.create(loggerBufP);0 {3 n5 r$ h" u5 [: ]
appLogger.instance.name = "AppLog_Core1";
% Q$ w# n t( }/ N5 lDefaults.common$.logger = appLogger;
3 a0 S, o) `# t0 b [4 MMemory.defaultHeapSize = 0x8192;
8 f8 X# o# e) _3 V7 ~Idle.idleFxns[0] = "&LEDStatus";9 b3 V% j) g9 S/ \2 }* o
Cache.initSize.l2Size = Cache.L2Size_32K;
9 U% a+ S6 D* Z: n* m, [' H+ a. D% p @* ?& J* z
|
|