|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明% B% J# o8 s1 @# Z% w7 s
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& _5 F* x' }% s. p
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
, l5 o }0 t" x1 c0 _ ~
& d) T+ ~& z" N: h是不是需要在DSP.CFG中进行配置
6 d* W0 w& B, R1 r3 j- ^我现在的配置为
) R8 Y: b5 d3 O2 a2 t
8 w! e) m; x2 ~4 I/*7 Y$ ^# T V7 x8 i# n, p C
* ======== Operating System Configuration ========4 H* H% o( m0 o2 Y( D, p0 I2 T
*/
8 m7 k' Z, q u7 N0 p7 f+ l2 Y& b* }8 ` i
/* no rts heap */
6 V h2 n* R; SProgram.heap = 0;
% D- g! k1 x: }6 mProgram.argSize = 100; /* minimum size */. `# \. M& I H$ f. l, \. ]
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大/ J; _* H. b1 u
' L9 x) @, D$ G& s& H/* create a default heap */
8 N+ D! M; R2 m4 H) Mvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');$ I7 h. f' Q7 L, |1 k- w' s
var heapMemParams = new HeapMem.Params();/ T7 F) c& |5 J; d7 @9 U
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大% y. S- s Q- b9 ?2 |$ _: o( `# r
' q" c( \9 G/ J9 V! E1 ]var Memory = xdc.useModule('xdc.runtime.Memory');" w: [; F. E) Y4 D# [: }" ^& ?- V
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);* @! u- @2 ?) `1 r" j7 x
3 B; z# N u6 R ?7 y6 S/* configure System module */
- } ^3 @9 W& m# o5 ]0 x$ N' Evar SysMin = xdc.useModule('xdc.runtime.SysMin');7 H B( z! M; w6 F$ w# u
SysMin.bufSize = 0x1000;: y$ X" ~ k* \( s
SysMin.flushAtExit = false;
+ _5 J1 h2 j1 c3 E. }7 ^4 L9 v4 [; O$ h
var System = xdc.useModule('xdc.runtime.System');
' C% A \3 G- @0 l) P7 L5 B; PSystem.SupportProxy = SysMin;3 M; Y8 a2 F/ {4 ]4 Q0 g
' |) H, K. G: C$ ?0 i- Y3 H/ b3 o/* configure SysBios to use the lower half of Timer 1 */! C& T( d k8 q8 ]8 S( s, E
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
) }8 N5 i2 C+ r7 Kvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
6 Z* \' p" H% s9 ~/ g7 C! `' UTimer.timerSettings[1].master = true;9 M) c' g2 `: ^/ Q; b' Y
Timer.defaultHalf = Timer.Half_LOWER;# {( @' F. k. c6 A
Clock.timerId = 1;! M3 S2 ?! i/ A0 v# Y: T; w
4 u2 S/ X% _5 U! J
6 x* q* j" U1 f8 P G* l8 o! o/*9 c: k2 B# z! c
* ======== Miscellaneous Configuration ========& R4 N1 m$ }7 b" P, A$ u
*/ d. ^; Q- Z) Q7 ~$ T. n
$ ` E; S0 U+ \& X
/* set default diags mask */
% j+ e L; h% M, mvar Diags = xdc.useModule('xdc.runtime.Diags');$ m4 p/ l& Q) L; A/ G. C# G
var Defaults = xdc.useModule('xdc.runtime.Defaults');, `: r/ } S8 Y, s# x
7 C1 x8 h( B" z8 V6 K/ k, } l( C) g7 M
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;5 s. ^" C; y6 X: H+ N4 G1 ?" x$ G
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;# k& D" y, m2 U' g9 F
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; V S E- E9 TDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
, K5 w: {: W" WDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
0 t6 w' f0 e! O: @% h2 ^Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
0 j+ }# l- Z; r& a4 U- O% _% S! T5 c) RDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;& k6 T" V; _ n! j/ Z
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: A7 f! g; O1 w4 b3 U: o3 fDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
: S8 t% Y' x' r# J( E9 r/ _$ xDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;) ]6 v4 M6 `# Q1 X. |+ v& V
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
6 }. T4 H6 T- S1 U+ UDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;4 S, B$ h0 i4 Y$ Y" m- f3 p. M
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;* S4 D- J7 }" f; ~3 a
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* s1 e' i0 r9 R0 z, l
. Z$ R' E) y' v/* override diags mask for selected modules */
7 l! d+ z) p' u" T A& d) |( Zxdc.useModule('xdc.runtime.Main');9 D# d; O7 o5 ], r/ r# l0 }7 g
Diags.setMaskMeta(
- o+ r( p5 r3 J "xdc.runtime.Main",- j: i( R2 q$ O% ^: \
Diags.ENTRY | Diags.EXIT | Diags.INFO,2 F" W! h# u4 }: s% G
Diags.RUNTIME_ON
3 x* [* _, M! A: B- Z4 | q ?);
- U8 S: h3 @ T% A0 c! k3 n7 M K# d
var Registry = xdc.useModule('xdc.runtime.Registry');
& x+ ^8 j6 [. URegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
- R5 O( Q5 R+ e0 x) K+ h! N% I6 \Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
3 t1 B% o- d+ z; V% Y2 @Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
/ O8 `* W* o% G# x6 {5 k) A" e# iRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
_2 z0 h! c. s) n! j0 V
$ A7 G0 |/ W' f7 b* |: X/* create a logger instance */
1 i- H3 A( r/ lvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');4 T1 o$ Z/ H7 P. `2 C
var loggerBufP = new LoggerBuf.Params();! [* d0 K! Q" E
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */3 o. L, ]7 k7 c% |
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
$ Q- E" F! m* x( Q* z+ ?, ^5 E% I, `/ E# Z
var appLogger = LoggerBuf.create(loggerBufP);
& w$ A0 U* G7 _; V2 dappLogger.instance.name = "AppLog_Core1";
3 D& i, H0 _0 D7 oDefaults.common$.logger = appLogger;. ~" {" q2 q- U8 k0 n" ]
Memory.defaultHeapSize = 0x8192; # { P* Z) p: E, R) Y
Idle.idleFxns[0] = "&LEDStatus";
) h3 S' ]7 I2 u( CCache.initSize.l2Size = Cache.L2Size_32K;
7 V7 @; N# g7 F f! l" J( i, L4 [. p( Q/ ~
|
|