|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* l& \1 E5 L+ L+ ~" E
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
% o8 O7 h, Y5 [9 i(不过疑惑的是,为何单独DSP仿真就没有问题呢?)( P# k0 N5 f* @
. @* ~- T2 F6 `5 @2 W* j0 j
是不是需要在DSP.CFG中进行配置
) n6 y( }: H/ G. w$ k: [我现在的配置为. }4 D$ U. s5 W6 M
( s; u/ V' e( z( u |/*& |- ?8 L. l9 A6 ?- I
* ======== Operating System Configuration ========; x$ g. P1 S) ?( o6 _
*/- l$ _! V6 ^& u1 A/ f2 A
! ~, u% r- Z; o* G- \/* no rts heap */. m" \& T) T Z; _# o: G& B5 m
Program.heap = 0;) ~& k7 q y( W& i9 r' N
Program.argSize = 100; /* minimum size */
' o* k/ t+ Z9 q, f$ tProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
: d3 Z O( P3 O7 T' }! X k4 o
3 o1 Y; j8 W# `* j; t x# g/* create a default heap */0 w# w0 \* b U' s( _+ l. _2 M' B
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+ i, n# j. S# W( ~$ o9 _var heapMemParams = new HeapMem.Params();4 {4 N, @% M9 ?- y$ s6 m, h
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& I, X$ G' |3 v
# p# i$ Y! D6 p4 O: Gvar Memory = xdc.useModule('xdc.runtime.Memory');% P8 Z$ w7 z0 I$ m8 I/ h) [5 R: s
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);# W2 s. E: a* Q. A- I4 u# P
! A3 `% Y$ }8 L( L
/* configure System module */
! `. n( }8 {3 Q/ e; K+ }var SysMin = xdc.useModule('xdc.runtime.SysMin');
& T9 a0 ^) Z# _6 m4 E: `4 ~! Y4 USysMin.bufSize = 0x1000;! u1 ]! o. Q( W7 D0 {) j- h
SysMin.flushAtExit = false;" Q! x" r0 O! u: l @1 U( ^) g& D
6 Y; V5 A& j& H/ Z' j3 Bvar System = xdc.useModule('xdc.runtime.System');2 t! h- J9 G4 g
System.SupportProxy = SysMin;2 ^- M0 C( r8 s3 @$ t. B2 F
) J3 T- G4 i5 |/* configure SysBios to use the lower half of Timer 1 */: U+ o- M* j7 d; I5 z
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');5 W+ B& ]1 \3 r8 x0 Q0 r3 I$ o6 r
var Clock = xdc.useModule('ti.sysbios.knl.Clock');, N" Q3 L R# [% B, }1 Z4 ^
Timer.timerSettings[1].master = true;, P; H. W. L. U3 N
Timer.defaultHalf = Timer.Half_LOWER;
! z! B0 q. ]- q" H2 E) O8 A+ eClock.timerId = 1;7 P: U3 M- U" _/ }
4 C$ R! ~3 i3 ?4 E; m3 K0 p& r) m' C# O4 K, Y
/*! U' O! N& {0 E G& m i; H
* ======== Miscellaneous Configuration ========. J/ }8 M8 }9 B+ Q" e; r
*/
" {: w, n" p8 ?' {! [* i' V: H) l L+ K. P/ P! v
/* set default diags mask */
. v' i6 U. y' N$ m0 hvar Diags = xdc.useModule('xdc.runtime.Diags');9 R" Y2 b' Z* o) m2 j- ~
var Defaults = xdc.useModule('xdc.runtime.Defaults');
# W7 H# K6 z# R6 V! p
0 u' O, X% ^' H0 L" wDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;2 c& ]4 S( g+ v% N8 ]* y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;$ _+ D' h1 R) @& Q
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;3 a$ T. H) }, n
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
' R, L. O1 A& ~: d/ ?Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
/ e, k1 f$ |+ h+ O4 h, \Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
& n) C/ Z; a! L. f# b TDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;- W3 D( P* r( k s B& f- @+ ^
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;0 {& m+ C7 q4 k- ~8 k/ G9 B
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 b& y+ H8 S+ X% E8 cDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;: e/ O( w4 H+ c6 K5 V
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 K& c$ u2 n( c- `Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
& U2 z: z* y9 c0 @# L' dDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 l9 a1 J7 }+ ]" LDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
8 z+ a* P& F$ K2 p3 X
B( W8 n7 s, {0 u/ C0 z8 a/* override diags mask for selected modules */
1 J9 \3 e6 G" U* Z. D wxdc.useModule('xdc.runtime.Main');
) C1 v4 K$ @" T- h& k$ D" y. LDiags.setMaskMeta(# \- [' W( @' ~) k0 d7 T
"xdc.runtime.Main",
1 {4 U8 s9 f: T) y1 p* x; i Diags.ENTRY | Diags.EXIT | Diags.INFO,
3 O& ~8 g6 I* }6 V2 V& H1 U0 d) K Diags.RUNTIME_ON" f. G6 B; K0 b# }( O: Z
);$ k$ S4 a+ z; C m
; \( P, u" H& ^' Hvar Registry = xdc.useModule('xdc.runtime.Registry');8 Y4 H! ]3 p2 X( x
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
2 A, |: y' c$ {+ [, ~Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
9 C* M7 W* X! a$ D8 t! ORegistry.common$.diags_INFO = Diags.RUNTIME_OFF;: T# Y- G7 w. ^7 ~2 `
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
, X/ A$ Z& R. b9 O+ y* x7 K" b) n% V9 @+ }! f9 @
/* create a logger instance */
7 m' P& w0 D# H }var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
x" ^2 J0 m; I' kvar loggerBufP = new LoggerBuf.Params();
0 `1 x, a2 Z O' A: c: r% OloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
& y, N- u; |, P1 { jloggerBufP.bufType = LoggerBuf.BufType_FIXED;
0 f* U3 N( Y& G6 ]/ |9 U2 `4 R" d, Z: \, [# l
var appLogger = LoggerBuf.create(loggerBufP);" H1 ?0 E7 h, @0 B& w8 K ?! K; C- ~
appLogger.instance.name = "AppLog_Core1";
; ~$ o. D' f# [6 j7 gDefaults.common$.logger = appLogger;% u' l! U' Z+ S9 f2 i+ K
Memory.defaultHeapSize = 0x8192; , u: w' t# y6 ?- r* L6 _
Idle.idleFxns[0] = "&LEDStatus";7 H3 p# n" @0 m3 `8 Q$ a
Cache.initSize.l2Size = Cache.L2Size_32K;% g$ A. \' L6 I
: j" A2 A" Z) s7 z2 u |
|