|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明/ I8 s- G" ]( S$ X; y' q
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下9 I* d- |% s \
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)9 r6 j/ n2 L& F
* z0 q* P4 i) _: O6 L& x是不是需要在DSP.CFG中进行配置$ Q$ f* j# @+ a$ {5 s+ o
我现在的配置为
4 ~+ B9 \$ K5 p! _+ Z1 Q" G9 K
. r2 g# q# O2 S& ?" @/*
/ D! Y5 W( Q2 W: h w" A * ======== Operating System Configuration ========9 `3 K r4 C4 A4 A
*/
: q, e5 ]4 d& }- C
" s/ Z) X( h/ K' K! I/ T2 N% G4 O/* no rts heap */+ q( \) s! T H @# |- R
Program.heap = 0;8 ?2 i6 q) [. W+ l% R0 ]. J
Program.argSize = 100; /* minimum size */ h9 o7 q. a3 u( f9 c# J3 C/ M
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 n3 R6 J4 I' F
8 S- A+ _" C; F2 {- ^; c/* create a default heap */4 Y1 _) ~& ?. G% u5 ~, M& q/ {
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( `2 j3 M6 l, f/ i
var heapMemParams = new HeapMem.Params();& A- e6 g; L3 U/ H
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
: l1 ~! ?& w5 r
, t/ { A& S0 b( I- Y% U. jvar Memory = xdc.useModule('xdc.runtime.Memory');
2 H) V% J+ y. t/ q7 ]. |Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
& ]( n. {3 L8 }& S/ ^% K" n, m4 V- B* n3 U$ T
/* configure System module */
' s( `1 v: ~, g' |7 Z4 }4 W Kvar SysMin = xdc.useModule('xdc.runtime.SysMin'); v9 ]9 S4 \) f; O7 A
SysMin.bufSize = 0x1000;7 s' o! T5 U4 ~4 r4 m" [& Q S! e
SysMin.flushAtExit = false;+ o" c: R- X2 z
9 o: X% U, ~% fvar System = xdc.useModule('xdc.runtime.System');/ k3 V8 J( Z) S
System.SupportProxy = SysMin; Z) E4 @7 |* A6 r. G9 |
3 I! ~ k/ R, o
/* configure SysBios to use the lower half of Timer 1 */7 x* N! G- x' J& _: B
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, y& i; \; ^6 [, o0 f( m7 u
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
4 f @" r7 u2 c) bTimer.timerSettings[1].master = true;
1 c' J# |) ~) i# R$ N: n& M9 M7 ?Timer.defaultHalf = Timer.Half_LOWER;
8 i: c% Q7 _' s4 z1 ~Clock.timerId = 1;( P2 E G$ o9 n2 M
7 X( v3 U6 B2 N( ]1 g' @0 w. ~, h% N1 X6 p6 m; ~
/*
" z& J' s( e( E1 \; k * ======== Miscellaneous Configuration ========* A* J" t. J: G
*/$ ?- Q+ {. B+ P+ U1 G- k
- K# H, F9 y* n9 S9 B1 ~/* set default diags mask */" ^& {& O, D6 Q M/ g
var Diags = xdc.useModule('xdc.runtime.Diags');2 U. O6 Q2 [( v$ Z$ C
var Defaults = xdc.useModule('xdc.runtime.Defaults');
" N5 Q: N Z" q+ [* h0 j, k! r/ M4 t+ f9 j, u; U
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
) x: Q$ D- v; Z' LDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( E; B( X7 R! ~1 v$ v: yDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
/ _2 B. E+ \- U2 G4 i5 [3 oDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
7 B2 |4 D2 ~2 }# W& N6 g5 W! [Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! O# N% P. Y9 n9 G% P2 U( g: \Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;9 A# [: d' i x+ A/ x: L
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
# ?2 [/ |# K+ H' h7 c4 w" O' hDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;. r# |6 `4 ~, i% y! Y, K K3 N4 J6 p
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ d4 a$ e: c9 B) eDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;, q @1 B0 z0 M& C9 a# p2 L D
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;% L: h# ^; M! t3 |" Y" r
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" o2 P( j/ W+ Q1 ~" V3 \Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
! O. W$ f1 f# sDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 H6 f) @+ ?1 M. l; G. F
( `5 ]" _( Q7 X7 q1 T a
/* override diags mask for selected modules */6 }0 z$ I2 Q+ L# Z0 F2 @
xdc.useModule('xdc.runtime.Main');1 ?* Z. C8 C3 B
Diags.setMaskMeta(% N& c5 g7 p% F, k0 D
"xdc.runtime.Main",9 U+ _! L4 N( b& T
Diags.ENTRY | Diags.EXIT | Diags.INFO,) _+ } |- }7 c8 J' I9 ?
Diags.RUNTIME_ON5 s0 [* m6 L0 W) ]9 U0 j7 O
);
' ?" C* D+ m, `1 k
$ w8 w$ d$ O3 ^2 ivar Registry = xdc.useModule('xdc.runtime.Registry');1 \* `- e5 l- N- H9 E
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
: T+ M% c: k8 F/ k9 D% \+ F/ URegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
3 O- A: H# l& F# V1 V8 Z6 V* dRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;& ^8 t% E# N& d- A' ^
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
! e4 E5 H5 Y* E3 [: M" Q; J, |, `$ V# W3 B2 G4 q6 h' \0 N6 S0 s
/* create a logger instance */, A1 J2 D+ }6 O. U8 v
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');' c& E% r% R/ H+ ~) a$ m% g- g5 E
var loggerBufP = new LoggerBuf.Params();
6 { g& Y) V9 OloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; J" k' P: }2 Q7 H4 jloggerBufP.bufType = LoggerBuf.BufType_FIXED;
' d4 m7 A6 f; d+ l) J) o
, Y9 c* N. V' R3 lvar appLogger = LoggerBuf.create(loggerBufP);2 ^6 g& L( v( W" b
appLogger.instance.name = "AppLog_Core1"; j+ {& |5 N) y0 F* y+ e6 n
Defaults.common$.logger = appLogger;$ ~4 b3 L) L$ l5 W) P6 N
Memory.defaultHeapSize = 0x8192; # R H1 {1 p" Y! |
Idle.idleFxns[0] = "&LEDStatus";; Q2 G. q0 K) I: z5 p0 [0 @5 B
Cache.initSize.l2Size = Cache.L2Size_32K;- c5 n# i$ [2 T) t+ a0 z0 J8 O
+ H/ E! Y9 Y) f2 x$ p3 T, B- P |
|