|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明; A4 S6 {+ c0 _8 `! @8 S4 K F
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下, Z% F( q7 u' Q, Z6 r7 m! V1 c
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
1 S* j3 ~) s9 s% {2 ]+ Z( B( R% s0 Q) T. L6 M
是不是需要在DSP.CFG中进行配置
2 M; T8 a9 o Q9 o0 S( E6 L% K* K我现在的配置为' l2 b4 E" d# m4 h) R. `
7 ]' T( S) n3 }9 _" |7 W3 p
/*
! d4 L# l' L3 }" O * ======== Operating System Configuration ========3 k2 u J$ M' \- V0 E4 e" U
*/
9 i% Y, V8 I5 W0 A" I/ S( P1 x
5 O/ Q& S' s. `/ D' c/* no rts heap */
- X5 z8 O' x1 J, AProgram.heap = 0;
, y+ q! m' j i7 c4 NProgram.argSize = 100; /* minimum size *// L9 n% j9 y6 d
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 C6 Q6 `; Z+ L) w- S/ t8 F' w: |' u% g( s: Q) @1 u0 L% c, K
/* create a default heap */
7 y# W( @; U" V) Z6 j# v& U( |var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# w' f8 Z+ \8 p
var heapMemParams = new HeapMem.Params();& P, P) T6 A+ y) n) `! Z; H
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
9 H/ ]% P8 a9 }, H5 v1 [. B- N2 h; T% g- {2 D3 Q
var Memory = xdc.useModule('xdc.runtime.Memory');
$ X) r9 I7 T7 o: r4 v/ P9 hMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
q0 V1 m5 N$ S
* S2 }- L* X2 f/ E$ ?/* configure System module */8 e' z, k* ]9 V: K& N
var SysMin = xdc.useModule('xdc.runtime.SysMin');
$ r" D; Q, H! H! M# wSysMin.bufSize = 0x1000;
' a* K ^* E& D w3 B: H4 `. I# e, ~SysMin.flushAtExit = false;- f; B7 p' n) k% x% n
0 f P( m7 _! v- B; Q# a
var System = xdc.useModule('xdc.runtime.System');' O( C9 ]: [0 g6 x( ^+ X8 R
System.SupportProxy = SysMin;7 K) u _: p, F6 i0 g' q
+ z. I3 }9 I* B z( s3 T& i1 S' ~/* configure SysBios to use the lower half of Timer 1 */
4 y# @1 s7 n. R6 I! v; {2 y9 r# l, Nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
2 t1 f% S% ^, a1 v; @3 N5 vvar Clock = xdc.useModule('ti.sysbios.knl.Clock');# _$ @7 Y& t+ E" z
Timer.timerSettings[1].master = true;
9 W0 q+ f& s: C0 R4 o7 @* |5 {Timer.defaultHalf = Timer.Half_LOWER;) J6 i# I/ n( l. l$ h0 ]# {2 M
Clock.timerId = 1;
- g' O/ m1 Y9 _! S; g' ]' A2 l5 i2 D: C- }/ z+ h
. t2 a6 Y: f; j6 H
/*
, ]/ w0 t/ Q0 j/ j/ r * ======== Miscellaneous Configuration ========- z0 T" B: N$ g0 Q+ \/ X# J2 z/ o
*/ s+ a5 z3 j4 {& ]5 w
' B `0 R! O+ x( S! ^5 y5 @* _/* set default diags mask */
1 d: U2 Y( Z5 n3 _. ?: z: g% hvar Diags = xdc.useModule('xdc.runtime.Diags');% M/ Y" i3 C S+ Z
var Defaults = xdc.useModule('xdc.runtime.Defaults');
; a3 o' y5 [# s% h* Q+ @& s7 m* d/ h6 l, `4 [& t
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;0 E2 D5 g4 r& g: N; S0 r* J: T& H
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;: H. j, b f5 H
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;. n' }8 E6 @0 e9 ~
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* A1 S! g: q3 b
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 N+ z& }# {) }0 O9 g
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;' C& _* a5 d% S" _8 ]- o
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;3 ~% `- G4 Q" K: U/ r J& W
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
1 _$ G5 b, {& D8 ]$ J9 b2 rDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
" r5 Y2 b+ G$ h5 E: o" B( d6 uDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;, b% ~! H: G( i. ^& m" {
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;- ~1 z9 ]6 R: P
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
9 _: S/ J, K. b1 [& lDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;. R. C6 Z% _5 \7 J( b# Z
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* Y+ K1 {7 U7 V! r+ q5 A$ t6 B
' }* @, K4 }+ m/* override diags mask for selected modules */
; c2 k0 k0 ^1 Mxdc.useModule('xdc.runtime.Main');/ e% G' K) P% m( z1 Z7 Q7 q" ^
Diags.setMaskMeta(% t! n& Y @3 V
"xdc.runtime.Main",
5 T/ b$ P/ l f- E# E) y, S# y Diags.ENTRY | Diags.EXIT | Diags.INFO,
5 `; K! j; A6 m/ e# R) Q6 M Diags.RUNTIME_ON
1 t u# @; h6 }3 P$ A( h' M! ?9 ^);
3 u* h6 @ v8 i5 \- G3 _/ x: Q: N ]4 R w
var Registry = xdc.useModule('xdc.runtime.Registry');
: T" g; \& |3 \% b4 M( ~( b1 y) IRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;. Y0 w F+ Z. O2 N/ j! C! y
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;$ D% r: s9 z/ z8 Q1 ~
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;0 |$ g$ Q: N! `/ o4 i, l
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;( U2 c% t9 Y) N
3 ^! T$ k$ Q* l1 \( v/* create a logger instance */# ~7 C0 E, f' F5 h. y. S1 q% X$ f1 |
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); |- L; ?6 n' L9 Y( i3 ?, S0 \. a# U
var loggerBufP = new LoggerBuf.Params();
7 V+ n8 I2 m. I( L& _3 V7 ZloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 e& g, U) ~: r# V" F1 ?
loggerBufP.bufType = LoggerBuf.BufType_FIXED;+ L0 E. n, F" d( ]
2 U$ i. t+ ]6 E5 D* O9 g; ~9 C
var appLogger = LoggerBuf.create(loggerBufP);
! W% i* ]; \$ {; F$ ]8 B. P2 C3 bappLogger.instance.name = "AppLog_Core1";
( I% c' O4 s% @' HDefaults.common$.logger = appLogger;: L! c" q. g9 h/ m
Memory.defaultHeapSize = 0x8192;
4 n( ^; x6 A6 iIdle.idleFxns[0] = "&LEDStatus";; O7 b7 I& S7 h) `. A
Cache.initSize.l2Size = Cache.L2Size_32K;
$ I1 p% C, {' Q8 o
' }7 F( J$ i0 a' g; J5 L' I |
|