|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明6 j" V& y5 M S4 S7 T& I
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
7 _# R$ Z! s. s6 g3 r(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
1 B6 o/ U& O* L0 K2 N s
5 X" t/ _: t9 L1 \是不是需要在DSP.CFG中进行配置
* p4 `7 G+ B* ], N9 r, A X; D$ K我现在的配置为
! ^: X) U2 P1 R! z' f
# D* g) U2 T! c, k5 O! T7 S2 [/*
5 Z% w1 P) }7 t$ k# |' m * ======== Operating System Configuration ========
/ N( G0 o4 G. r */( T& I. r5 Z( P- `
& Z: I# w1 |; n) s$ ]2 u/* no rts heap */2 x" \) \! T, ^: D4 D% p1 `
Program.heap = 0;
* G2 h3 g5 C x9 I( ^+ W" ~Program.argSize = 100; /* minimum size */
- g" H( v/ l" c& x1 j8 aProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大1 Z- m: e! d; X2 A9 l& E0 ^* F
2 F+ f1 R. F: c3 i2 K/* create a default heap */
/ A# n* \ T. b3 R* y0 Cvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
% Q1 z" Z4 e# K4 v9 svar heapMemParams = new HeapMem.Params();" E, r l& ^& j/ N. L( `) j
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. G$ x0 B( R! l
) J$ B* y, w) z% cvar Memory = xdc.useModule('xdc.runtime.Memory');, E: ?8 t' }% z* ~/ M% U
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
. f: H$ T0 p+ F
- L" ~, d9 ^$ @3 _/* configure System module */8 y2 x! v" E6 i% B# B+ h0 i
var SysMin = xdc.useModule('xdc.runtime.SysMin');
1 c8 z; W1 o! H* q* G$ J5 FSysMin.bufSize = 0x1000;. }+ l/ A# e/ o" H# l
SysMin.flushAtExit = false;
: M4 O6 w; A) y: n, X) I- e0 _$ B, A2 m; n0 L5 I% n. o
var System = xdc.useModule('xdc.runtime.System');
/ b2 B9 B; M1 I: M0 B% v8 YSystem.SupportProxy = SysMin;3 ^* g7 T. u( C1 `1 @# Q
" h5 f) i1 w: I6 V, _/ A' O3 n
/* configure SysBios to use the lower half of Timer 1 */
c$ W+ i: E6 a8 e" Ivar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');$ P% {' Z- B$ g- I) D
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
; K0 `/ V, R7 Q% ?/ R5 w8 E* K& ]' b& ]Timer.timerSettings[1].master = true;7 m8 Q1 b) @+ T8 ]" O6 j7 h( p) D
Timer.defaultHalf = Timer.Half_LOWER;
( H. ~, s3 D- ^: D+ G/ M; oClock.timerId = 1;
6 j6 } F1 `7 U
7 c8 f" M, K. Y: S5 Q( b! e7 t( J: Q2 a" ], B E. I7 l' \ V3 t
/*
& q) n/ n# u' o * ======== Miscellaneous Configuration ========
2 M! d }5 H1 _& R1 X$ o */
3 {5 y5 F2 I2 E) z4 J+ N
( b2 R! t7 [, T8 K8 ?; y: c5 _/* set default diags mask */5 V, X# a, a& H! J B% u
var Diags = xdc.useModule('xdc.runtime.Diags');
& Y2 D0 I0 L% C' g' q6 pvar Defaults = xdc.useModule('xdc.runtime.Defaults');
' O: n0 @ Z. ^5 ?- R. D8 T* `4 z; _) d# o# `2 a
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;2 a3 G; `3 K3 A% }' j
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( |: ?! D/ |- m- W! CDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
8 K* [. d% N1 }( [, xDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
& J0 K% D# U( k, sDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */& X5 j% r$ k/ ?+ k, ~5 b5 E
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
F" P- j, [* IDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
9 G" k& | y3 CDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;' e- y% z9 W4 Z. z- F( y
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
4 S7 q/ J0 s* H" G' [, fDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF; c/ |7 S3 I/ T) l
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;% n5 E" j( {8 T! P
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
7 A! Z7 L4 Q! p5 l( W, P( ^Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
# @; u7 g- ]7 K: {+ \Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 x y. O9 u$ w0 U3 d8 Q
+ h: L2 B' k- ?7 o
/* override diags mask for selected modules */
& P* I0 ?- e) O$ r: txdc.useModule('xdc.runtime.Main');, w# T D, B3 E* d0 b; Y
Diags.setMaskMeta(% S( q4 N! h7 e1 v
"xdc.runtime.Main",
1 A: z. m+ a: F. B3 ?$ M Diags.ENTRY | Diags.EXIT | Diags.INFO,- V% t2 e# L6 i% X
Diags.RUNTIME_ON- J' N& x; N6 G
);
# D7 Z r/ D- J1 i8 n+ ]5 H3 s/ d& A5 G A' x+ X0 L
var Registry = xdc.useModule('xdc.runtime.Registry');# c! ?; x0 m* I4 j5 t* Z. h
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
( u" v! T# o/ J2 \! ~. M2 LRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;9 i& B9 F/ Q4 @; |1 _/ g5 U+ a1 @
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;7 X' p5 Y3 N$ v ]$ V4 I
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;) }& ~9 V) F( t1 {8 x4 l
6 h* Z4 p* k, K6 K/* create a logger instance */
9 a* |7 `9 A8 w& v6 f. m Pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');8 d% \3 ]& H8 x# B$ I
var loggerBufP = new LoggerBuf.Params();9 ^( G; o" V3 z) L
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; e4 S/ T% \4 B3 Y9 s' ZloggerBufP.bufType = LoggerBuf.BufType_FIXED;
6 H( R8 K. u1 E! D, L6 V+ @8 u% f+ ?0 u# Y9 j, o* w$ J
var appLogger = LoggerBuf.create(loggerBufP);
: s) a H7 Q* vappLogger.instance.name = "AppLog_Core1";
$ O9 O" F6 f3 S5 }3 EDefaults.common$.logger = appLogger;
6 c/ T; z7 H0 _0 SMemory.defaultHeapSize = 0x8192;
/ D+ p) x4 o$ d( }Idle.idleFxns[0] = "&LEDStatus";4 N s( p: C4 Z7 G- |
Cache.initSize.l2Size = Cache.L2Size_32K; m% ^7 u& O- |
! F& q5 { w* z) b! l1 J- Y
|
|