|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明- z& d- W/ }# n1 T
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下7 [ p! [7 C/ Y; Z l
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)( m$ N$ u7 w" o( w& k& ]9 G2 Y: H1 m
: X4 t: r- F4 P) T" x$ O2 H是不是需要在DSP.CFG中进行配置" ^1 k( Q4 s4 R' o
我现在的配置为
! k1 p4 D! B- `% C( b
+ `/ l+ ~: Z/ W6 r/*
9 M8 S. A' s! h1 P+ }/ } * ======== Operating System Configuration ========. y1 Y: z! c& L# R
*/
) E2 d6 a6 j2 |: {2 K4 Y( l4 _5 A8 q' c$ G3 V1 B
/* no rts heap */# \ }; \) g8 j& d; M& z
Program.heap = 0;
' D5 Z: `; x1 |: A7 ^8 w( p9 OProgram.argSize = 100; /* minimum size */" b) ^) r" K2 A' T1 y3 v1 v
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
% F) D; b! k* H( ~7 F
7 {0 g, p- @- a. H) p( }/* create a default heap */. p4 h& m8 K; a3 Q" w
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');1 ~/ B- ?) S) r1 Y
var heapMemParams = new HeapMem.Params();
4 a, A1 e4 o2 PheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大5 O: _: l* E9 B: X& V6 G% A
, r/ @" q1 q; {8 E2 pvar Memory = xdc.useModule('xdc.runtime.Memory');
- }- V( }& l" ?8 UMemory.defaultHeapInstance = HeapMem.create(heapMemParams);9 i; F0 s, T4 U \+ q5 |
- ?1 Y [* m/ p+ Z/* configure System module */
* \# _8 I6 x; s% j& i- v) `7 H5 C" qvar SysMin = xdc.useModule('xdc.runtime.SysMin');
- w2 c6 |; j$ }& M# nSysMin.bufSize = 0x1000;
/ u5 d8 ~1 i' }7 [: sSysMin.flushAtExit = false;
: I, d5 {. E# F& c+ w0 a/ A5 ~. W3 e" O8 D, U
var System = xdc.useModule('xdc.runtime.System');0 [. W& J/ ~2 A: |) X
System.SupportProxy = SysMin;
4 C. _, b# o+ N1 W9 M @0 Y. b+ \5 O2 G) k' L
/* configure SysBios to use the lower half of Timer 1 */
9 M( x2 h. v1 Cvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');- v7 t7 G* Z) a1 Y2 S) _! W
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
9 m4 [4 N' N# D( x5 t9 T! zTimer.timerSettings[1].master = true;! V( l4 T) Z# @& b* f. v* a
Timer.defaultHalf = Timer.Half_LOWER;' T) @8 I+ F; m0 v# A3 p
Clock.timerId = 1;
' j- O# \& u ^& R! w ?
8 [ f6 Z2 x. R
3 }- {1 {7 O k/*) h5 z/ d S$ W1 Y
* ======== Miscellaneous Configuration ========& c& W" @$ U# K. b
*/
2 _5 V4 I2 g s; C L) B: H8 I6 ]/ T
/* set default diags mask */
# p' P5 S9 L6 y& ?) ~$ qvar Diags = xdc.useModule('xdc.runtime.Diags');
0 t- |3 Q" E _var Defaults = xdc.useModule('xdc.runtime.Defaults');: Q9 R& A7 J; _7 r& }
3 M! |' v4 j* b# s- _/ P: H
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;! O% k |$ t& h2 V
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;4 I K/ n$ w- d& H2 c, h
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;0 d/ n$ r. L9 j1 M% t! w
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
& p5 Y; k( _3 [5 i* `* |/ S& i% ?Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
0 \& R4 [1 n1 k I" c( h0 ~Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;# P- p7 H3 U' Q4 N
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 w/ b/ u; q/ y# E, fDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
. H, d3 k' F( N3 _Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
2 j. c4 p. a2 a& t) @' e& r" gDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 \8 x5 f( }8 N0 R* ?) _6 {' VDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
, x/ z. P1 [/ @9 H9 [Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;. F" W( l6 D z8 x9 M# L
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;1 g( w7 l: ^; g" s2 g8 M9 g# J* I
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
4 ]! R( y V9 s4 W( r% ^) S4 Q9 L# k4 u1 C/ J- v6 c
/* override diags mask for selected modules */ b( t4 I; V, D/ v; t* f8 ^
xdc.useModule('xdc.runtime.Main');
. Z; V2 ~2 Q: D! A# \0 QDiags.setMaskMeta(
4 s3 `/ H' l% F/ c4 s2 R "xdc.runtime.Main",
! }3 H {4 H ~( | Diags.ENTRY | Diags.EXIT | Diags.INFO,; a: \8 x- w/ G" h* T
Diags.RUNTIME_ON. [2 m# a# @6 D' q
);6 Q6 r: a8 z0 W3 A+ `3 [
- R* c( v/ ^; T1 b- S; ]: I- @var Registry = xdc.useModule('xdc.runtime.Registry');
0 n, `9 m( K% p. qRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;( W6 T) ?, Y) |1 t/ a+ b6 k1 z. b
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;5 {& ?1 O s' t" q! w# z* |, {- J
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
. v8 l% T. [( e1 @5 D0 KRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 W. Q7 _7 m9 P* c7 h& b
8 Q7 y/ G# j$ C& d# w; k1 J/* create a logger instance */
( ]0 m3 g, E# g* Q) Y2 n3 qvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& c9 E6 W; ?* b, E7 D$ p4 ~; y/ i
var loggerBufP = new LoggerBuf.Params();+ p" ]+ C' h% `. l
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */1 F, n2 G& P" K! L7 J
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
1 U; o6 C! e* Y; b8 |
/ D& d# M+ a5 ^/ P, svar appLogger = LoggerBuf.create(loggerBufP);
5 K& V7 |7 H: l+ fappLogger.instance.name = "AppLog_Core1";) B/ q' N6 q6 e" q: A6 ]* ?! h
Defaults.common$.logger = appLogger;
9 t& Z/ Q1 F5 j6 K) [+ P5 s) }: OMemory.defaultHeapSize = 0x8192; ! F/ o9 ~/ E( R) ]0 I3 m
Idle.idleFxns[0] = "&LEDStatus";
2 r, H& T" \ ]- m8 u! LCache.initSize.l2Size = Cache.L2Size_32K;# x& Y/ }7 g( s- S+ P+ T
/ _. s# J8 X1 ?9 }) ^, U$ X O
|
|