|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明1 u' X! C) a8 @: `5 V& N
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' k* n1 ]1 ~3 y# q(不过疑惑的是,为何单独DSP仿真就没有问题呢?)7 E" K9 e% u; [; }
1 C. D. V1 r) m* h8 ~/ E
是不是需要在DSP.CFG中进行配置
! ?4 C% F' p( O我现在的配置为
( B/ G. f$ g2 i' }
8 `% e4 `' X* N5 m* @7 @2 f* f/*
" M8 ^5 u4 o5 H. V7 u * ======== Operating System Configuration ========. ^. D7 W4 l; P$ e6 r
*/1 {0 P/ T! _5 H6 ], H, f. ?
6 k# n1 P- W3 Q
/* no rts heap */2 c% ?& _9 u$ J4 p* c3 }
Program.heap = 0;
% S. I8 O( N' F7 o8 AProgram.argSize = 100; /* minimum size */! h/ u/ @& W0 e
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 U% r# m& W5 a4 ^, P1 O+ Y* {, }1 c( C, }
/* create a default heap */
3 L2 i/ |: Z$ V1 ?6 [var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
4 H5 Z2 K: U! Bvar heapMemParams = new HeapMem.Params();8 h1 n% x( ], Y/ {7 ^& a9 R( }2 Y
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 {* e8 k' m4 ?/ x
5 w; Z# o0 i2 C" r; p2 o8 [9 Dvar Memory = xdc.useModule('xdc.runtime.Memory');
# n5 x; @- ?. f& f8 h+ P) _Memory.defaultHeapInstance = HeapMem.create(heapMemParams);+ e/ l( \* a0 r3 d4 D1 \+ W
1 |8 J9 ^3 Z2 |/ R$ N+ m0 _0 A/ Y! o/* configure System module */
" q6 m- F0 H- l# Qvar SysMin = xdc.useModule('xdc.runtime.SysMin');
/ r8 O/ H' r' ~, m9 n6 @* U4 b! MSysMin.bufSize = 0x1000;+ v8 S" [! e; q1 ?3 A d9 L6 V
SysMin.flushAtExit = false;
& b/ T. G$ W4 C! }* _0 ~7 u& ?5 Y& ]* E9 Q: F7 w2 T4 Z! l
var System = xdc.useModule('xdc.runtime.System');
# z: A- w; Z8 P: m2 kSystem.SupportProxy = SysMin;& m. |& o! \! y2 i3 f
: O) c a% C5 G* @& U4 w7 C/* configure SysBios to use the lower half of Timer 1 */0 r2 Y2 o! E" Z/ r1 i
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
- {& w- }4 Y( p! Uvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
+ ^; s( I0 ?: }& h; b1 wTimer.timerSettings[1].master = true;" H& |# {: Y( D8 @6 T2 X+ F a
Timer.defaultHalf = Timer.Half_LOWER;
. X1 D K2 A% r; N: x0 A8 BClock.timerId = 1;
, b P0 N+ F3 x( g! d0 M
! o0 Y8 }# x4 H% Y' M3 q) {9 }/ K- j& @9 V, y6 h9 v, W
/*
a2 c# e9 i, Y/ J# F * ======== Miscellaneous Configuration ========
3 Z- {: g' T/ _* M' l3 f6 m( p */; Q9 a0 _6 I( g7 t
" c4 r/ y- M4 t& R8 Z9 n/* set default diags mask */0 r+ \$ p( E' p9 ?5 v/ V7 @2 F( R0 S1 b
var Diags = xdc.useModule('xdc.runtime.Diags');8 D) l% X _; Z6 c8 J4 N3 v
var Defaults = xdc.useModule('xdc.runtime.Defaults');+ _ ^8 \1 n3 d* }
( i, e9 F6 w [* c. |$ H3 Q, iDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;6 D0 V" |2 F' o
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
- U2 K" G/ g0 F W- |Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;! z7 R0 N7 C K) X3 y
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ b9 S0 U. a5 y
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */& G* o! t) U+ l6 D0 A7 S
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;5 X) S: K" `, v' C
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;7 s4 s3 g1 c; R$ C6 I9 ?
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;! E4 H* w7 P2 P0 M" w
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;: r/ G3 e4 I3 m8 x3 u
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;# u2 b- ]$ i' E6 F5 i1 u
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* M& t2 u6 t4 t7 c0 T) Z3 f9 K+ oDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;5 T& x& W2 H/ D; i, c' R( h# b) P
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
0 m2 U' S; B2 Y& e/ DDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; C, C2 N0 U: k. m
5 }7 J, a G3 ^# o* F/* override diags mask for selected modules */
7 s% P2 c! o/ f' q6 H3 Uxdc.useModule('xdc.runtime.Main');3 w# X- a& ~# y: R6 }& P
Diags.setMaskMeta(
$ A5 X; D- Q# l: l; a "xdc.runtime.Main",
% x1 ^& V- B7 V; ?7 a/ H y Diags.ENTRY | Diags.EXIT | Diags.INFO,' V# q0 M; W3 U! g* j2 j
Diags.RUNTIME_ON
" V: {8 M( B5 p! @2 D2 n6 ^3 P);" q. c4 T3 H' M! ?' {" Q8 y
! U5 p0 m) ?3 w5 `0 [) b
var Registry = xdc.useModule('xdc.runtime.Registry');' s& X9 i# o7 r/ Q, n; A
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;$ O# D9 `! O5 {: @8 {! A" E
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 N. e7 q# h7 ]$ x G" ?5 B( TRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;) A5 u- u F4 l6 @0 ]$ `, \" G( z+ i- z
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;5 L0 V+ r* V4 A1 u
! o; t; Q8 p0 `8 G: |/* create a logger instance */) \* O6 b% p% {; G8 B" g
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
& t3 |9 d( \+ _var loggerBufP = new LoggerBuf.Params();6 g/ d" r! b) h
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
2 R- E* ^ Q- xloggerBufP.bufType = LoggerBuf.BufType_FIXED;5 Q" \7 L1 ^, H$ M$ N# m% ]4 N* a
* Z, C; h, N, T; J* G5 k
var appLogger = LoggerBuf.create(loggerBufP);0 t: `, Z. J z7 E0 V
appLogger.instance.name = "AppLog_Core1";3 [8 |# [/ O: Y3 e3 C4 Z* r
Defaults.common$.logger = appLogger;
9 y# Y# p k1 R0 ?2 V( qMemory.defaultHeapSize = 0x8192; 5 I; F- r) B7 I6 M0 i
Idle.idleFxns[0] = "&LEDStatus";
9 K1 b2 o4 F5 w3 Q* {+ k$ ^; w/ L% lCache.initSize.l2Size = Cache.L2Size_32K;0 |3 o$ N1 {' ]0 T, v$ g
) Y4 h3 [' z( @4 j6 j/ L
|
|