|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明( h) u. l8 U, @4 t
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下5 Y7 C" D: {4 F# d
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)9 D- y! p5 Q% s# r# D. R1 n& U
# F) [3 c" [* f6 B4 v是不是需要在DSP.CFG中进行配置
! e- F( _0 E) B" b+ i# o" `我现在的配置为9 P" ^4 P' q3 w! d% o6 D
8 G3 ~' D. Q4 a% d n) [4 u' P5 d/*( O' C3 ^! u5 k6 x9 \0 y
* ======== Operating System Configuration ========
/ j5 ~, w" |, m2 M) X */
8 o/ }" r$ K5 L" F( i. ?3 o) R$ x
- z4 E2 n, f: m' w4 J) d* X8 k+ a/* no rts heap */
% k1 ~& \8 Z' q+ JProgram.heap = 0;
* q- j6 P4 a" ^2 \& sProgram.argSize = 100; /* minimum size */
L1 D; H, ^/ u4 Z. U1 Q' EProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大# h3 S& }! G3 V% s8 M$ k
* Z+ Q0 g3 K/ p$ k+ Q+ @ q& r0 }* \/* create a default heap */4 K$ u' O- g! k' G# E6 {
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' R, {% Y* S, ]var heapMemParams = new HeapMem.Params();9 b( }" C7 [! Z& |; C& S
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
0 N b1 g, B& V1 C" G6 ~0 P+ [: F* ]1 c
var Memory = xdc.useModule('xdc.runtime.Memory');
; h! g | M0 v2 tMemory.defaultHeapInstance = HeapMem.create(heapMemParams);1 [) k, T: |4 |
/ Q2 N+ k5 [- K, h& Y* P; h! a/* configure System module */# ^2 o6 T: K, e
var SysMin = xdc.useModule('xdc.runtime.SysMin');
y7 ?" @' p1 w/ N, V# MSysMin.bufSize = 0x1000;
# Y* o8 f1 X! X1 V$ ]$ MSysMin.flushAtExit = false;
8 ]% ^1 q1 }( h1 L7 T
3 Z: ^) ]& w5 O G, y3 Jvar System = xdc.useModule('xdc.runtime.System');
6 P; d6 w$ d, z/ y O: ^" C9 ~$ hSystem.SupportProxy = SysMin;: d, V7 F8 L" Z1 y7 l
% a& m0 O4 p" V5 D# O& N# m/* configure SysBios to use the lower half of Timer 1 */) b/ o' ~7 d% A
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
4 c0 j* T: V) J; fvar Clock = xdc.useModule('ti.sysbios.knl.Clock');+ R, p0 C) r% G
Timer.timerSettings[1].master = true;
/ o! E8 M0 x1 F: o8 l& kTimer.defaultHalf = Timer.Half_LOWER;
: {9 U1 a$ V2 [+ `+ oClock.timerId = 1;
" `. a, Q8 ]6 |+ D5 w1 Y! P1 ]0 O1 S+ U, _) Z* D3 J
0 o- B+ _9 R5 Z! m
/*
- e }: e; Z; T * ======== Miscellaneous Configuration ========% \2 a( `& \9 w
*/
: k2 z! D1 L. Y# A+ K' a* \6 I4 f6 H- }/ A; i- X
/* set default diags mask */3 r# b+ z2 v6 I2 g6 U; m; t1 z. \! B+ N
var Diags = xdc.useModule('xdc.runtime.Diags');
7 q ~0 d+ ^. ~7 `$ v1 c/ fvar Defaults = xdc.useModule('xdc.runtime.Defaults');
5 d( [3 e. R1 H# b, C& V# t8 L! T' f& a2 u9 o& L8 e6 T
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
) R8 p( z% ]1 B7 w* I* TDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
0 a: a* W7 V+ H4 B$ @) W1 T" NDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
0 O [# P9 P/ X6 |' l9 EDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
$ n4 ~* p0 y) `) Y, q7 ^! y: ]; YDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
% U5 u! h2 w# RDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;* N" A" A C/ U0 N' T9 T: Z# _
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;" [) Y% E1 ?2 E' ] b1 m5 q; }9 A
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: U: F/ y, [/ t, f# MDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;6 I$ `. u: Q7 u$ V8 A e: f
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
9 f# M7 L# |. E7 l4 F% H; f- h$ PDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
0 W. M2 A; d2 d$ X* \Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; t! X& c/ ]) j: v* x8 X; T
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
# N6 S% p8 `. V3 `# rDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
9 K9 l; ]% [% ^/ b! J8 d7 @7 t$ K& A$ R7 s: n8 _" h
/* override diags mask for selected modules */
+ C! t9 j8 v0 v- i% yxdc.useModule('xdc.runtime.Main');) M8 X+ c O' D [& ], U9 y
Diags.setMaskMeta(
2 l& {0 s. C( M" H% L, k& u2 f "xdc.runtime.Main",
, r( b3 V6 Z' B& u" `5 I Diags.ENTRY | Diags.EXIT | Diags.INFO,/ ?/ C" G! S( E: [' x( `% B
Diags.RUNTIME_ON/ @! y/ R7 Z9 ]$ v
);
: b" J+ W& o9 g: g0 I3 s7 }% v8 ~3 P* i5 X1 a- M. C
var Registry = xdc.useModule('xdc.runtime.Registry');: ?$ Y: c7 m$ D
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;$ Q& ~" l6 U1 q0 A% N7 g
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
# G, J/ `3 p# \: M iRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
: ^2 Z, @. }, t5 \( `% dRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 K% F+ T8 h- w
5 C1 m, i* ]: f% K4 c5 W
/* create a logger instance */( Y# K0 U+ v0 C9 H% i
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
- g/ W& T( E7 F' Rvar loggerBufP = new LoggerBuf.Params();
6 q2 v! u. o: U9 g' RloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 m* \& @# ~: h" ?loggerBufP.bufType = LoggerBuf.BufType_FIXED;4 @% }7 E9 d# ?7 i! C) Q3 a- Z
" C0 z$ i& L3 W8 zvar appLogger = LoggerBuf.create(loggerBufP);! S5 g0 Y! c/ p7 W1 d& {
appLogger.instance.name = "AppLog_Core1";! w& Z% G: D2 A$ Y! a( q+ J
Defaults.common$.logger = appLogger;$ @2 Y0 w* X! G3 c6 D7 M, i; _
Memory.defaultHeapSize = 0x8192; b2 h# N4 E3 S1 l. z% Q3 ~
Idle.idleFxns[0] = "&LEDStatus";* s* N# y! A$ k+ z0 v+ Q
Cache.initSize.l2Size = Cache.L2Size_32K;) W/ Z/ d: o2 e; l/ M( K3 f
7 H- O }% N: `& L# B* C7 ]9 O6 p |
|