|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明! x) N1 g. H: m* Q5 p
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下: z+ R6 k3 ?. N( f
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
6 Y# T1 W+ E0 A" H8 p8 h( M
/ E: Y+ K8 ~5 C9 p, H! M8 k是不是需要在DSP.CFG中进行配置
7 M/ x7 }, i& `+ d R我现在的配置为
. X8 n7 ?2 E& Q( j8 a o# v4 y2 r- M$ h, j* z& z, k
/*
8 k6 {" Q: h1 l6 j! D: s, M1 B * ======== Operating System Configuration ========
! D; F; ?" R j3 u& |) n: Z */
$ b/ F5 d) t- B8 C, N: I% f
; N' H/ l) Q. q# z/* no rts heap */
4 U3 E+ }, X$ W. ^4 rProgram.heap = 0;
% f$ w0 i' Z# [: o( [Program.argSize = 100; /* minimum size */
% k; R4 O$ s+ w, s5 m" p* G9 rProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
# N- Z9 I; ~" `2 p2 @) k
) H: O4 z& f1 W/* create a default heap */
# |4 x/ t6 R- p. n$ `var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');9 ^: }; D% P' M( v% g
var heapMemParams = new HeapMem.Params();1 D8 s3 L5 f& E8 x* }
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大, z. Y U' ^% d: t% x7 U
- |6 a6 b9 t! o8 ~5 ?, E6 qvar Memory = xdc.useModule('xdc.runtime.Memory');
. k, {( o0 u: NMemory.defaultHeapInstance = HeapMem.create(heapMemParams);4 I5 ~; Y# I7 Y" y# d1 _8 \
' R f4 [9 [2 J9 `: l P/ [/* configure System module */2 @* d( o* D' O' q
var SysMin = xdc.useModule('xdc.runtime.SysMin');
?& ^4 c" x: t/ e* \5 Q* y8 T% LSysMin.bufSize = 0x1000;
" q! ]& ?1 ]( D8 d* ]SysMin.flushAtExit = false;
1 a7 o/ _! Y2 W }$ R* @# y3 j/ Z4 H/ b# f* G) y) e8 R
var System = xdc.useModule('xdc.runtime.System');! X, l# y" m7 t {5 e
System.SupportProxy = SysMin;
+ y$ q# x T4 r7 g3 d* }. f2 ]4 M! r
/* configure SysBios to use the lower half of Timer 1 */. U) C$ U/ O3 G$ L/ O1 \4 {; w
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
% R8 e2 y% r3 d- W& z3 ?var Clock = xdc.useModule('ti.sysbios.knl.Clock');4 \% s1 V6 n! u
Timer.timerSettings[1].master = true;! M# P# @+ B, `& | C
Timer.defaultHalf = Timer.Half_LOWER;9 T& [7 A+ F8 z# l8 \1 n* ^$ |- \1 h
Clock.timerId = 1;
5 _- s& Z8 E8 ~2 {+ x9 T- A
; ^6 u' Q; [ q) ?
* J I& v( Z5 O4 |/*/ X4 T6 j+ j9 O, i& L+ S" ]
* ======== Miscellaneous Configuration ========( a I! F) n3 b) W
*/6 ^( w* D6 y% z# s, T& b( L8 }! A
+ B+ i5 K/ d; ~' o/* set default diags mask */
% O/ U9 |8 x, [var Diags = xdc.useModule('xdc.runtime.Diags');' W3 J. [7 E- C* D$ Z4 j
var Defaults = xdc.useModule('xdc.runtime.Defaults');
' q: I& U- N! }" D' V* `3 } y3 Z0 p' V+ k& G7 g3 t, e* l
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
4 K' k5 X( S% j$ e) }9 ~! YDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;# a6 ^! [' ]: k2 [! F6 h
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
7 ]7 l+ P: ^$ H$ r9 BDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
& U! k6 h. V* h& I- p# U% eDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
1 r+ k, o' |) ^7 Q* j, a' sDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
3 _$ f- @( {% d0 [' ^) TDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ z+ Q# P6 }, T$ }$ W
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;. f% ]! \8 z4 y: v2 I6 t
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 x* J* ~# v, z1 lDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 H( |9 r. r$ _% N* q8 S6 [Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* ~. B; s3 K" m4 y) ]* ?Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
) o# l4 V m) EDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
' n: G8 J% b( ^8 b, Z- g" SDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
9 [% Q. `0 Y* W W. v5 F# S4 m7 Z. k, {; C* @# \
/* override diags mask for selected modules */
1 a" V2 b `" w. [% e" d+ D5 Lxdc.useModule('xdc.runtime.Main');
Z4 c% P9 K6 k7 p0 g7 SDiags.setMaskMeta(
% g; k- n; o5 O: Y "xdc.runtime.Main",- t1 F* U$ Q8 `+ j6 z! ]
Diags.ENTRY | Diags.EXIT | Diags.INFO,
/ L8 y$ T T5 C4 v) e Diags.RUNTIME_ON
( u( B8 J; l+ B# H' l) h);
) [" j1 e) t# V7 |6 Y$ @+ e+ J0 `! f5 Y1 f
var Registry = xdc.useModule('xdc.runtime.Registry');
0 x3 t/ l3 W/ l2 o5 D. z/ NRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
Q, {; k' M* jRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
" b4 i4 i" u eRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
, @4 j4 Y* @& y" y* O7 v2 ~ FRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;. q3 E0 d0 d/ v+ I" S
- d. U# S* ~' T2 I6 X
/* create a logger instance */
( L3 o: ]% d* I$ |/ P$ {# Yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
2 B, Y9 p+ d( u( p' @var loggerBufP = new LoggerBuf.Params();
8 t( a# y7 d) A9 mloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
5 D G3 `. U" d( O0 Z j2 floggerBufP.bufType = LoggerBuf.BufType_FIXED;1 R/ X3 h5 }+ N; f
3 A+ I. Z5 J* y
var appLogger = LoggerBuf.create(loggerBufP);5 ]9 R5 b! M9 u
appLogger.instance.name = "AppLog_Core1";" k1 l0 L, u9 r4 c A
Defaults.common$.logger = appLogger;
5 ]) }1 E5 h! M1 Y; m. yMemory.defaultHeapSize = 0x8192;
% h* b7 h( x$ ?6 B4 kIdle.idleFxns[0] = "&LEDStatus";
7 d* d0 ?: q- q: @' j* eCache.initSize.l2Size = Cache.L2Size_32K;
% F; { P- _) T& a/ o
6 b: y" ~7 X9 ] M5 `+ G0 O |
|