|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, N+ G8 V0 m F4 f" c! a& g
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
/ e0 B, l8 T1 `% I7 ~( j" e(不过疑惑的是,为何单独DSP仿真就没有问题呢?): G) E6 _3 P- F6 u
+ h e {) h; L4 Z0 {
是不是需要在DSP.CFG中进行配置5 B9 W7 ]9 L$ C7 N2 F
我现在的配置为! J& X0 H) E4 c. _4 d
* z% Z! E- @8 K. y* U
/*
9 w9 J8 m5 E% `1 t2 P * ======== Operating System Configuration ========, N7 u* O$ `- E9 J# B- Z
*/1 ?5 j R4 _3 d3 u4 _; d% u( Q
$ X" I& f( N- Z9 P8 F. b/* no rts heap */
9 C2 f9 o% ]" N. g- O3 HProgram.heap = 0;- } R d! @; ^, y: b% \
Program.argSize = 100; /* minimum size */
7 s! q, ^$ |* F c4 {- W6 DProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ T& C, T$ D$ B5 {: _6 ^6 Q0 O
9 @9 C% w! e! B; c# Q/* create a default heap */
i% b# P& s/ [6 E" R* M: |var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& [4 W. I2 N/ r7 D0 e4 E; p
var heapMemParams = new HeapMem.Params();
) l. I* g( g" x( [4 Q/ l6 LheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
1 O9 x- K2 |6 P; G0 s Z C% n( M" X& n2 [
var Memory = xdc.useModule('xdc.runtime.Memory');; B2 g) @8 [1 y6 r
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
1 A+ [% D& d/ K6 A1 q' H B* P0 Q7 ?1 b% ^# o! P5 I
/* configure System module */
0 Z& e0 C4 L W9 r6 U+ O" x8 Fvar SysMin = xdc.useModule('xdc.runtime.SysMin'); t; p* h/ I q/ P+ H0 B, d
SysMin.bufSize = 0x1000;' [6 m: n+ |# I* j
SysMin.flushAtExit = false;' i. ~; p9 G' i, d6 ]
" {; R7 L; @" O% O4 W8 T1 E) G8 l* c
var System = xdc.useModule('xdc.runtime.System');# z7 S: p+ |) X' r) w( \0 X
System.SupportProxy = SysMin;
( x* Z( U1 `! N/ e$ \4 C# k6 n! d; p9 v. d5 f4 X, {0 {
/* configure SysBios to use the lower half of Timer 1 */
. q3 v) Y0 t g4 U9 [% Avar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');& m( l( z0 C8 T7 I& i
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
7 K+ R. ~5 u+ u& \6 R h) jTimer.timerSettings[1].master = true;% J5 Y5 H" \& h& c8 W1 c
Timer.defaultHalf = Timer.Half_LOWER;, X( }0 g5 C4 o' J3 f5 h
Clock.timerId = 1;. X" }' N& Y+ \7 `
/ j+ A6 Q/ f {6 Q
, T7 m0 H, O5 {7 u# q, c* x* z) Z/*
, D$ S4 ^9 [5 T* e6 m * ======== Miscellaneous Configuration ========& m( f& f% t6 x$ ~! m/ W
*/
5 U7 K( u( t" I% ]$ l7 L
8 I8 z3 t/ _6 V& d1 x# I) B/* set default diags mask */
& n( _! _9 i- m- r* h! {var Diags = xdc.useModule('xdc.runtime.Diags');
$ F- H1 C/ E( O: X$ t6 B8 I% N$ L8 yvar Defaults = xdc.useModule('xdc.runtime.Defaults');5 G, p' S n! s2 |* s, y( U
f/ U3 y2 ]( L6 t4 [0 N+ Y0 h( NDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: n6 O5 t, z5 e% j8 P( a
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF; F" p1 i6 |& L8 Z
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 E. H+ j# H! I0 Y
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */2 R( X- g, R6 D+ Y) m6 P) y1 B; Z% b
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */" l8 i+ h2 K# O( o0 L
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;* Q3 Y) P& `$ y( `- k
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;( u! N! k; {/ h% z& w$ `
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;' Q. E& y6 J5 M
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 z1 x) w! G* A/ iDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
4 H; T: g9 n; IDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 ~! L, V3 G4 @7 Q% \( |' U4 a- r4 xDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;* t& F1 W* D2 ^
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;) i. F/ ^7 T, z8 _7 ^
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
4 R# R, s& O, o7 {% M# l, Z3 }+ h
/* override diags mask for selected modules */
7 z' K% I# c4 b& rxdc.useModule('xdc.runtime.Main');, X/ h! M* @- _- m1 u( d0 a
Diags.setMaskMeta(. h9 ~: q. J. A4 g
"xdc.runtime.Main",
: J3 f5 _. m! P Diags.ENTRY | Diags.EXIT | Diags.INFO,8 R( x3 W$ x/ Y0 q, r* W
Diags.RUNTIME_ON
7 U6 o8 S1 g& q" B8 @);
( k% ^/ H4 ^& W$ X4 p! A: |2 `' M$ I& n8 v
var Registry = xdc.useModule('xdc.runtime.Registry');7 Y: y7 o# W( j
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; P* o2 Z2 J }) [" Y) B% ~
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;3 j7 M2 }: ]/ K* L
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;4 R7 c' J- f7 _( o7 D
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
2 O; q; E& H, h* x) C4 g+ S; u* G$ n" p8 u# h2 @
/* create a logger instance */: l6 K2 t) s* L2 Q% F2 b& [0 x$ p* }, e
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');* b" ]" p2 }& W, ~; L; j' O
var loggerBufP = new LoggerBuf.Params();
5 L* f5 {+ _- T$ V2 YloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */ T8 Y* b; C% n# h: c3 G
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
) J/ n# e$ L- z, A9 P7 o" v9 E
var appLogger = LoggerBuf.create(loggerBufP);
9 ^, a3 F$ h- Z2 M. j# G5 UappLogger.instance.name = "AppLog_Core1";; k: Z$ B+ J! J9 w
Defaults.common$.logger = appLogger;6 F: u8 I& p5 ~" R! t3 @
Memory.defaultHeapSize = 0x8192; ) c$ G* y; R, h
Idle.idleFxns[0] = "&LEDStatus";, p+ e+ o- f* G
Cache.initSize.l2Size = Cache.L2Size_32K;
4 @$ E, L2 i, h$ Q" |
) W0 {* c# R1 P6 {, E& G |
|