|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明' B! X* u: F, C+ x* W. K/ E
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: N" C2 Q: I% t* d/ v0 A(不过疑惑的是,为何单独DSP仿真就没有问题呢?)9 m( k& q" J( T5 b2 [
7 T8 p# J) g0 o. O+ F6 A
是不是需要在DSP.CFG中进行配置
: X3 z+ j# d2 v7 I3 K* H我现在的配置为
: [- G! b8 d1 z% m* c' \ C. O1 |5 p: W* C) c. i# i
/*- D t, f7 W) I& R# V
* ======== Operating System Configuration ========. ]. b5 k. x" h
*/
- t6 A, v; m; K- I: x) W& q7 i0 i, H, R2 l: P) ~8 J
/* no rts heap */
# j; E# e0 X# g( F1 \- P- T3 W( nProgram.heap = 0;) c5 w' v( |3 p8 Y
Program.argSize = 100; /* minimum size */
/ L y. |, @+ g+ k" k/ _/ X* n7 ~, G- vProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大0 }( f9 p3 U! J' G
) w$ f- Z b6 @* w" E
/* create a default heap */
4 {/ |& w% K* `; n0 Tvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
8 b% e5 i% o7 p% V c Bvar heapMemParams = new HeapMem.Params();/ w( y' U8 R6 k& d4 m
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
8 w) W( U( U* Q! j/ ^* _$ C- V! T/ V8 R& s9 H6 w6 S
var Memory = xdc.useModule('xdc.runtime.Memory');4 l8 I" x" `5 \, M
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);' K. z. |6 H9 z
4 `5 D0 g+ d! U3 y8 c0 K
/* configure System module */
# x+ V. b# Q1 C" [5 U/ `& j" pvar SysMin = xdc.useModule('xdc.runtime.SysMin');, E3 j/ N3 \" y
SysMin.bufSize = 0x1000;; t0 ]# K9 s1 M* O K: K4 X
SysMin.flushAtExit = false;5 J, N+ n% E+ R0 r$ u
8 `; d; A4 `1 I* t; G
var System = xdc.useModule('xdc.runtime.System');$ M& i# R j" w( D) c
System.SupportProxy = SysMin;
- `% F, U2 |% e/ `. x9 ]( L
# e& H9 G) |. {" V3 ?/* configure SysBios to use the lower half of Timer 1 */
! V( u" e- S+ f- y& @& v/ [/ Yvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
0 Z% f3 M0 ~8 E. E" _) ]. f# Svar Clock = xdc.useModule('ti.sysbios.knl.Clock');
: d1 f& K \, }- P$ {2 { J* y" A$ fTimer.timerSettings[1].master = true;4 ~! E1 ~% C1 ?' m# Q& \7 l
Timer.defaultHalf = Timer.Half_LOWER;, K4 F7 V) [: q# B; s* n4 A
Clock.timerId = 1;
" L7 p$ p7 T0 V* i; u F- ?. G& ?0 b" D: ^* k, g5 H* X
$ l0 V' J6 |! h7 y
/*6 t1 }1 Q G6 V4 K, L" k0 w
* ======== Miscellaneous Configuration ========
6 _1 ~7 d" I- u2 a. R3 E. P* p */* f0 h* B ^* m7 P4 ]6 \
2 U# u$ I9 }3 a3 W/* set default diags mask */
, I7 l- r) }$ s% X Gvar Diags = xdc.useModule('xdc.runtime.Diags');
! M8 f' x, H5 }( pvar Defaults = xdc.useModule('xdc.runtime.Defaults');# r+ [, e8 T5 @ L7 I$ U
$ p5 E$ t6 G& u# x
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;- m/ J2 q* e& E; u/ r
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 D2 g3 C \/ p0 e1 V P8 a& DDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;: W4 `* C6 Z/ C% F, f/ R6 y
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* `" m- f% f O1 X# z9 g/ t
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 S, Y" Z5 n3 R4 R
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
/ U. e% a- z; c5 ~7 ODefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
1 F! Y8 D4 @ X* JDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
+ i, G, I# @ G, gDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;! k( b9 i! e# m! Q; R" r
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
; N3 T1 P& b# T7 F! d" ~8 k* PDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 p+ w- F( j8 [Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;. v$ V5 k$ S) H* [; f
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
' K) n; `8 W* @+ \* fDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;6 Y# ^% |& T+ `# J* P
# p& g I+ G# j! e( p( \, q/* override diags mask for selected modules */
& x. B4 S5 L: \" [" ~- j5 E) A/ Q+ rxdc.useModule('xdc.runtime.Main');
2 s$ c" e- N3 X& x4 @Diags.setMaskMeta(, i$ U/ I' I8 I$ _, u1 M8 l
"xdc.runtime.Main",0 L2 h3 [5 g% u# T" f9 t' ^5 Y
Diags.ENTRY | Diags.EXIT | Diags.INFO,
K% Z, o- M8 Z4 ^! ] Diags.RUNTIME_ON
1 E1 N- }! V) U# Z);) y" ` b# W* P/ @7 ?: j7 p
2 I3 W% k( F |% F3 d; cvar Registry = xdc.useModule('xdc.runtime.Registry');
, I+ {0 Y# _, o6 F$ URegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;* Z& u$ h$ k' H# s/ ^* l* p
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
: U% Z/ x/ f: y& yRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
" W( i$ G9 |9 p% A5 D+ XRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;) A$ V6 N9 ?) e# I2 N
. R5 W6 n: ?7 b s4 p$ u' m4 t
/* create a logger instance */! ~4 u/ h9 k* g; `
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
, s& H/ D( x: A6 pvar loggerBufP = new LoggerBuf.Params();1 `# j5 l0 f, ?2 \. u- d$ n* J, b
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 }. x' u2 m/ Y l8 Q. O- HloggerBufP.bufType = LoggerBuf.BufType_FIXED;1 j0 E- ]+ q& ^9 Z% i" j
& V7 w6 b# P6 w$ Y" z: [7 w5 T/ I
var appLogger = LoggerBuf.create(loggerBufP);) [+ T0 U J4 V% [" D$ |
appLogger.instance.name = "AppLog_Core1";1 b a2 n# S# y' {
Defaults.common$.logger = appLogger;
* U0 B0 X I! T" ^# n9 HMemory.defaultHeapSize = 0x8192;
$ E7 }- u" i" j4 PIdle.idleFxns[0] = "&LEDStatus";( h, F x7 h8 h4 \' ?$ N
Cache.initSize.l2Size = Cache.L2Size_32K;: ?3 l. D+ X- z6 f
, b- l7 L7 z; w2 z( K" J# S
|
|