|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 J9 Z5 Q: m2 F5 _% `4 t. D
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
0 N1 y9 r0 i' c/ Y" s' v. B5 L(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
8 m* l, r. G7 h( Q# T8 A3 a) f+ w* n( Y
是不是需要在DSP.CFG中进行配置4 R0 Z- b/ t0 m) e
我现在的配置为
+ C6 h0 W( Y6 r; D% H+ C9 H9 w4 T9 X* r; a y
/*
$ [) z" ?# [7 k: _# R2 U2 h * ======== Operating System Configuration ========% k5 j9 I2 O4 `6 q/ r" K0 C" o
*/+ A" i9 W* j6 q+ |. _
& b; [+ g7 a0 L" B- H
/* no rts heap */( M# i: q1 M! T+ b0 W9 Q/ W" y0 ~
Program.heap = 0;
. m8 C9 m x. j4 Q9 _9 R5 _6 {Program.argSize = 100; /* minimum size */, _1 [+ d7 L* X
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
2 w" h1 {( u2 L( @9 K8 e1 m* ^! y: E; p8 |: `% M7 P
/* create a default heap */
. R: z! J. b Qvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); `( a0 a+ J: k" g" ]8 y
var heapMemParams = new HeapMem.Params();
+ a7 \# x1 f# J2 z) V" m7 Z0 WheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
& m1 S: x4 K7 A* [: p9 w1 `
3 H; f9 x+ u7 X yvar Memory = xdc.useModule('xdc.runtime.Memory');
! K E8 j/ j1 s5 y$ ~% A% f RMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
8 t: }0 _( j8 W0 J$ o: \
; r3 q8 a5 z; M& `/* configure System module */
, k8 C- o8 ]0 z, P3 w" jvar SysMin = xdc.useModule('xdc.runtime.SysMin');. j/ w* J$ F( H6 i0 {" q. Q: }
SysMin.bufSize = 0x1000;
7 v( E, K4 k: @6 y/ V: ]: G/ \" VSysMin.flushAtExit = false;, P/ p; ^3 A1 o3 b4 N9 d$ d
) H! w7 R9 u& Z g$ R" K/ P, f8 Y9 kvar System = xdc.useModule('xdc.runtime.System');
, r, I# t. D$ m- S' jSystem.SupportProxy = SysMin;4 [% g6 D- V% U! E) a7 U6 t" c
l* \/ s. W; K2 c! J$ h0 g
/* configure SysBios to use the lower half of Timer 1 */
" R$ ?6 L6 _ V) wvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
7 J/ ^# q s0 w6 b% g( c3 F) m4 ?var Clock = xdc.useModule('ti.sysbios.knl.Clock');* u m$ U7 s) b# F1 Z
Timer.timerSettings[1].master = true;' f, w0 F. N! d z" |
Timer.defaultHalf = Timer.Half_LOWER;
- d0 ~! b' D5 r' J! E4 jClock.timerId = 1;
7 o# y% C' T8 c0 F
/ t5 `4 f% u; j" H: g* B: e( O: d* F( I) Y
/*
( t; ?$ | P. M' A6 ?: I * ======== Miscellaneous Configuration ========! Z8 u! ]6 o. u
*/
, H' V7 P8 `6 @; v& @0 ?
. X c6 Z: ^/ u4 w$ o N v/* set default diags mask */
/ T6 h; j% ~. Q4 L& _$ N9 rvar Diags = xdc.useModule('xdc.runtime.Diags');* G5 L5 k+ K. o0 j. ?( e
var Defaults = xdc.useModule('xdc.runtime.Defaults');' f9 P8 U( Z! T Y& e' l' c: n3 _
, E' W" \. I* @8 R) q/ s( T
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* Y, x+ Z3 ^" G/ y2 s) B# j3 q
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
) g+ D- g( g4 f8 ]: ]( H' f, r7 wDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
- R) w, m! d" n) YDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
w1 `" H* R! h! ?Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
7 S/ O3 N; |4 ]1 w: Q2 JDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 N. J. f; f2 G4 w' ]' F+ r1 cDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
4 M% ?: y7 l) [$ u7 ]7 T# p2 CDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;5 o7 Z7 Y, r& z9 u9 X
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;: T5 v) _! o' s
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
! N5 P% g: r" H8 lDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
2 V* i/ p0 Y" s1 y1 TDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;+ @6 ]- M6 _2 I* h( m Z& Q6 |
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;8 G# f2 g6 p, t: q- O4 N* E
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
% A$ l5 Y6 t* ?% ^. k, o" W
- ?. b0 `8 G! W/ g8 M+ r/* override diags mask for selected modules */
5 N2 K6 u! C% b& Zxdc.useModule('xdc.runtime.Main');+ o* t* I3 R7 F$ i# C
Diags.setMaskMeta(/ B8 g6 c# \0 k! c
"xdc.runtime.Main",0 @5 Y7 {1 L( Z. w3 J( a% F @
Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 q# v& {8 w, O h& I( p6 r# r4 f Diags.RUNTIME_ON2 A1 z( ?+ ?8 u/ F- f( }2 X9 K8 N
);
1 G& t4 }$ w! |5 b" u) M
9 F2 j [' c( U( O5 yvar Registry = xdc.useModule('xdc.runtime.Registry');0 I7 o8 ^' J) X$ ]5 ^5 D2 g
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;% K. a# I6 k! I; \
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
( ?, w8 r0 R& e% M- DRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;! _( k, B/ V2 K5 d6 I8 G7 t
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;: S5 `* m0 K9 f' r( R
0 m) O; S, h3 [; p
/* create a logger instance */
) N3 Q) P: `. y& H5 T$ uvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');9 c% E3 ]; y: B1 K0 G
var loggerBufP = new LoggerBuf.Params();$ ]5 O7 _2 e$ p, t( c5 g6 J7 u
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! ~: u6 ]( O, ]- a6 I, J' _ C
loggerBufP.bufType = LoggerBuf.BufType_FIXED;3 K' N% E& j V& F
6 \. ~. x) Y% O3 a
var appLogger = LoggerBuf.create(loggerBufP);4 }! \6 d5 \' t2 n/ G9 l8 j) L v
appLogger.instance.name = "AppLog_Core1";
% U8 t- B9 ^- w+ D" j3 [+ rDefaults.common$.logger = appLogger;. ^/ x! q! }2 ]; N
Memory.defaultHeapSize = 0x8192;
% G# x* P$ F+ X/ Y8 \( xIdle.idleFxns[0] = "&LEDStatus";' J) z& h; Z* C
Cache.initSize.l2Size = Cache.L2Size_32K;% H' O6 |2 j4 Z$ H. W
8 A% w5 w2 l5 r. O5 G |
|