|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: {8 z' @6 U {4 w/ A8 o我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# E6 s" f& V+ j# c. t6 w, Q6 M(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
. H$ b7 L/ L3 q6 X, D6 |5 i; Y. L0 l% G2 l& m
是不是需要在DSP.CFG中进行配置1 z2 e1 W/ G* A- V2 m
我现在的配置为/ r0 r$ h: f6 q6 l% A6 I
+ E2 x9 A8 c- }' w0 P
/*
/ |+ M5 ?8 x0 u * ======== Operating System Configuration ========
3 r2 t& ]) y) @ N& g */
) f, j6 {; ]: q0 Y" V. i7 ], ]* Q$ N: K$ |. o: w. d
/* no rts heap */
" _! S! \2 l; ~) _& qProgram.heap = 0;
* S7 W) c3 V/ o; C( CProgram.argSize = 100; /* minimum size */; V0 u: C2 s1 z, W. s- | d
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大5 G) @ i2 e# e, G7 E5 w
g; S/ D5 J9 c! b0 q" m4 e G6 B
/* create a default heap */
* o. H* M0 v {- W; V% ovar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');* s1 j A" e) l2 v
var heapMemParams = new HeapMem.Params();
4 X+ k3 q" V3 Z/ |* s6 R" I5 NheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大; C: p) h- B) E" H
1 T: l2 L0 |5 [( T3 s D9 E% _* xvar Memory = xdc.useModule('xdc.runtime.Memory');* s" c2 y* V3 E# I/ {5 v
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
5 ?% D( d* m. g8 k8 K
- X+ W# r" H- @/ r. S( K/* configure System module */
. e% E, ~+ J9 _7 p _% z8 z7 Mvar SysMin = xdc.useModule('xdc.runtime.SysMin');% P9 z" V* f9 g! r7 p$ C, D
SysMin.bufSize = 0x1000;9 h E- e% X" f" `
SysMin.flushAtExit = false;( F# O4 n0 T. V5 U
7 I- x0 ~6 c* A% e$ h; ~var System = xdc.useModule('xdc.runtime.System');$ P0 A& C+ a2 [- P I! i
System.SupportProxy = SysMin;; Y7 E* G' X* H1 i1 \4 P4 a
; _) ]1 j6 Y u3 |
/* configure SysBios to use the lower half of Timer 1 */
. g% ~( R0 M: t) v! S) Nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( H) |/ G# @1 e4 h+ D3 X# ~var Clock = xdc.useModule('ti.sysbios.knl.Clock');1 m* W% t0 ~8 k, P7 t
Timer.timerSettings[1].master = true;
* r$ }, e3 m( B3 C% `) s( ETimer.defaultHalf = Timer.Half_LOWER;1 y: j( F0 Z, T }
Clock.timerId = 1;5 C9 w" F8 R! \% Y/ A
3 J' d- p" [+ u* _9 p( P- d
5 I7 S( j* H% p5 z& C4 ]( R/*
5 S3 b' m( J/ n7 C0 f5 ~ * ======== Miscellaneous Configuration ========9 f* j: y5 p* k; `/ E5 J
*/
, K5 Q' w `0 e8 v. O9 P7 A. J: M: O8 r" g) A; [* \0 M$ _
/* set default diags mask */* W; E* i1 h( ~
var Diags = xdc.useModule('xdc.runtime.Diags');
& v+ z* n% v/ T& T# V1 Y- E! Ivar Defaults = xdc.useModule('xdc.runtime.Defaults');
& ^5 Q6 U# J% x2 f$ Y, L; X H5 V5 b: i" x# E# q1 c2 Y( B; ?
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;6 ?; a: D8 W1 [3 U6 R) Y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
4 k! C: `) e$ LDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
6 ?/ U& Z' k6 @% g0 S1 eDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */9 k; r. H. l0 h* S/ X% [! K- n
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */, ]: t3 Y$ ^! P I
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
3 H- y9 u5 W4 t7 XDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
) f* J8 z* C: {1 X0 J% lDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
- [# s& M! n% t( XDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
. G! C: r9 W2 d K3 D* f: ?" C7 qDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;, M2 T/ w2 c8 r+ I3 k5 H
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;' o. W3 o# Z+ _4 f
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;/ M/ c) z2 A5 ^, b) N' M
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;! \+ {' W" u$ X- e2 l
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 P8 v+ O& D+ P2 D
1 k# h% r. m/ Z3 m W
/* override diags mask for selected modules */* ?2 r9 h8 i( O; S
xdc.useModule('xdc.runtime.Main');7 L9 l ~( i! o* c; o8 s& ]
Diags.setMaskMeta(
, Z9 h- |2 W+ n0 F" s1 }2 o "xdc.runtime.Main",
5 J' C( K0 X$ @7 ^! Z9 A; O Diags.ENTRY | Diags.EXIT | Diags.INFO,
; d( [; D/ f/ y' x; V Diags.RUNTIME_ON
9 H, E. U8 A6 i( y);
% S" j# y6 F T0 G9 ?; w2 l5 ~" q4 u6 z: \0 T
var Registry = xdc.useModule('xdc.runtime.Registry');9 X. {/ E' |8 v$ Y8 Z( g2 r, R* e
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;# Y5 P6 V0 ^6 H' h* ?
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;! o3 ~5 U. [, ]$ b
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 W' Y; d" ?: P! n* x/ A* N7 ?Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;: o& j; C" |3 g
/ _5 ?( t. B- X# }5 e3 W! ^- o
/* create a logger instance */1 n! U: g$ Y/ I4 X z6 s- k( m5 g
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" J, X9 _1 @% O2 z$ Hvar loggerBufP = new LoggerBuf.Params();
3 _/ g' r/ `' \loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 M5 ]4 }' {9 u7 _& e/ I5 IloggerBufP.bufType = LoggerBuf.BufType_FIXED;
, I4 [1 j" _' f* J B) G6 b& _/ S; T+ }
var appLogger = LoggerBuf.create(loggerBufP);- L. S# D b ^ i# J- [2 N8 \. ^
appLogger.instance.name = "AppLog_Core1";
3 n" I' m9 P1 U: p: sDefaults.common$.logger = appLogger;+ M6 w; R. s+ i% ]
Memory.defaultHeapSize = 0x8192;
2 R; Q2 E4 c( Z! V: F$ i( W; WIdle.idleFxns[0] = "&LEDStatus";
2 h i4 U0 E1 n4 x4 G0 K$ |* TCache.initSize.l2Size = Cache.L2Size_32K;
2 J7 k1 L/ ^1 s9 m% A; q' b' i+ z& P8 g" q3 a) M
|
|