|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明" j( M# m8 ~ a3 R: h3 I
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' u/ _, f+ r3 [5 h2 f$ w* ~(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
& L+ ]6 Q8 z1 |+ Y+ y/ r5 R3 q7 b0 v3 J/ C. ?$ N3 J& B
是不是需要在DSP.CFG中进行配置
0 R) y5 h1 J/ i) S+ i我现在的配置为# \7 s& D( L t( K- _
3 x) U& r6 v" d/*) C3 A4 f v1 u
* ======== Operating System Configuration ========
5 D7 I' X; s' x7 o */' ~1 o( v! i# ^
" f& _* T L5 F( O
/* no rts heap */9 ]$ j8 `& e6 D0 @- W
Program.heap = 0;& Z! ?: e' a* j6 g z% S5 ?
Program.argSize = 100; /* minimum size */
! h& e0 p2 q7 \! yProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 x! n4 O$ d, H0 j
, C3 s2 P4 k" @. z" o/ v
/* create a default heap */$ W1 c9 z- Y5 ^% \' C5 A
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');1 t% X8 T, o* O8 _
var heapMemParams = new HeapMem.Params();
! |! A+ H% E# k- l0 ]+ d; B+ aheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
# {) Z4 d$ s3 E6 g- b
T4 n0 G# k6 E+ d0 tvar Memory = xdc.useModule('xdc.runtime.Memory');
; G# B, }! W2 F7 @& F/ DMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
7 n, O3 C8 I# Y9 U- K2 ~$ S+ ^0 q) l! N- E+ D4 K; f
/* configure System module */3 w" N; f6 x J- R: a% m: o
var SysMin = xdc.useModule('xdc.runtime.SysMin');1 T1 ^- x6 P( ^ @- w6 Q- F: r
SysMin.bufSize = 0x1000;
* L8 P, v1 \( r6 J: hSysMin.flushAtExit = false;( l0 q: M, `& q7 D% c0 J$ `4 Z( F
) `, J' n; ]2 a6 [9 X. @' nvar System = xdc.useModule('xdc.runtime.System');
8 O2 D) g1 Q3 D; x% u# ^System.SupportProxy = SysMin;: Z Q% X) t1 S0 W A+ X& e
3 K( m0 g/ C$ H4 Z/ R6 ^" ]/* configure SysBios to use the lower half of Timer 1 */
# }/ p* i% Q8 D' Z( Y) U( x0 \var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');6 S4 W S: p: D+ Q* V6 `7 t! [
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
8 D$ K5 D: d7 `3 {* GTimer.timerSettings[1].master = true;
* B0 c- E/ i4 V1 G, X. kTimer.defaultHalf = Timer.Half_LOWER;
3 W9 V# y/ p5 A4 P" [0 L9 _; V5 lClock.timerId = 1;
8 G i+ M$ w! R1 s
. M" W- R$ ?8 e: q+ u
# L5 y( d2 L; `& ?$ a; ]1 @& T. D/*
& V5 w B1 H! y r" p( P! r * ======== Miscellaneous Configuration ========. V Q' ?" s/ |/ w# M
*/0 X' x1 k5 o5 l( j
" O8 `) _ l5 K1 P; S4 k& |
/* set default diags mask */
; c; }+ x5 b I6 Z2 w& Mvar Diags = xdc.useModule('xdc.runtime.Diags');
& a; Z" _. a8 l; Evar Defaults = xdc.useModule('xdc.runtime.Defaults');
2 T0 d' c# t; R& _2 d; S) \5 I$ k, [: [, S' V5 ]; v. {9 ~
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 ^4 t' G+ j: `+ n/ o& iDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
7 s/ U8 k% ?* F; KDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;: v: f1 H l. K2 M4 i# @6 R3 H# o
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ h2 O% s# l! E9 m! z
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */# K9 p0 m2 J- R8 I
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; p4 U1 i+ ]# W8 Q, {0 NDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 s, Q4 y/ T) Q# jDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;, _. |9 a: q3 k6 _; C
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;; U m. b) {7 t( L) y
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' Q- c* ]8 \# P0 G+ z) rDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;- G7 s: P# I; k
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;: J' `& `( L) t' w& o! ?' x$ Q* r
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;$ [3 M0 l7 _& o* i
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;. c& ?1 X$ a, N! o. w& K& V' B( u4 @
$ t( S5 ^, u7 b, [/* override diags mask for selected modules */: l5 q& H" u/ f. m; j' D$ {
xdc.useModule('xdc.runtime.Main');
3 [ S2 m! x% L7 }4 ADiags.setMaskMeta(" p+ m1 t! k' m" N
"xdc.runtime.Main",
+ s7 `7 H# k" c* N; @3 m k/ h Diags.ENTRY | Diags.EXIT | Diags.INFO,. Y1 O3 ~/ q8 {5 j! b
Diags.RUNTIME_ON
. C, ]' G& C; F6 M8 g+ P a);$ _2 d. P" r Q* ]7 K
" N& F# h1 J6 P% uvar Registry = xdc.useModule('xdc.runtime.Registry');0 w3 _) Z9 b3 G0 W4 g; Y
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. J6 ~" [+ T- k$ C7 ^+ M$ dRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;- z( v; b0 L5 Z p0 J: f' K
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;8 j8 u& L. J& ~; d
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
+ H% I' |. S' Y4 {: Q1 r! f3 W e4 U. z, |' }0 c5 L) j
/* create a logger instance */
y- P4 V( k$ F8 g H) ivar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');9 P. f5 h; n3 `6 q: z
var loggerBufP = new LoggerBuf.Params();0 |/ i1 z5 A! v9 w0 a
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
9 K5 ~$ H' e, I4 Q) v. I5 u$ aloggerBufP.bufType = LoggerBuf.BufType_FIXED;
# W0 \# a& [% @3 o1 q" u5 ?: C4 m4 G- H+ l7 j
var appLogger = LoggerBuf.create(loggerBufP);
& b- N: e0 r: UappLogger.instance.name = "AppLog_Core1";" R' I) e% ^3 X) l% f. \1 v" m0 _
Defaults.common$.logger = appLogger;
& E7 E7 L, A: s9 E6 kMemory.defaultHeapSize = 0x8192; 2 m9 B3 q: u. g \
Idle.idleFxns[0] = "&LEDStatus";
8 o' ]+ Y% ]. g3 f3 P0 {( L: zCache.initSize.l2Size = Cache.L2Size_32K;
7 _* A4 p3 y" ~, ?
( c/ F9 G. ^# I1 C; B |
|