|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: M$ C) y* @+ C7 F. F我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
0 s/ s% @0 w: e, z# _(不过疑惑的是,为何单独DSP仿真就没有问题呢?)7 t1 ?% N- P2 b4 p0 p6 V3 ]
- w3 ~! |2 E) `& ?
是不是需要在DSP.CFG中进行配置
+ l- P0 G; A) W* x0 X/ S我现在的配置为6 V3 }- {7 {2 {4 h$ v
0 H% s3 Z1 E4 }3 W T3 T; ]/ q
/*
" b* b$ o# _, A0 w- o; b$ O * ======== Operating System Configuration ========/ Q. F: P8 n1 ?, s# J0 n
*/
: Y' m: ]7 P$ T) _! U, {4 Y/ c0 i7 d- _
/* no rts heap */ [: O+ Z4 S0 @+ L+ h: B
Program.heap = 0;
, U0 a1 I/ U8 n8 K# F$ \8 OProgram.argSize = 100; /* minimum size */
/ M7 T' y2 I6 z- J* c' `' vProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大- F5 E/ p& }7 _3 I2 K H
* M- D; y2 A# x' f1 `9 X4 H/* create a default heap */& l/ ]8 S+ c5 Z! M; A, O
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 l( [" e# _; l
var heapMemParams = new HeapMem.Params();. k6 Y3 A4 J$ m6 w7 ^& l* c* v
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
; i& f2 G+ i* s" w! m% F8 Z. J7 u1 d2 T4 n1 u3 e- {# r& Y
var Memory = xdc.useModule('xdc.runtime.Memory');
& |; F- b' b- Z3 N7 YMemory.defaultHeapInstance = HeapMem.create(heapMemParams);& k. q& A O7 ]# k2 e3 f7 l
$ e- z: l( U3 W! ^. y
/* configure System module */
9 e# _) S( \; w" w; z$ Avar SysMin = xdc.useModule('xdc.runtime.SysMin');
! W. x- m! K7 b9 v" U L5 }: |$ F3 lSysMin.bufSize = 0x1000;0 a+ M2 d! B5 d
SysMin.flushAtExit = false;
8 u+ H# O9 z, Q$ B
4 |$ ]+ h. v1 z* y0 I. gvar System = xdc.useModule('xdc.runtime.System');; k* V" _) S5 X$ h
System.SupportProxy = SysMin;9 `& V& S6 w: c: ^
: b: L5 |3 L2 @1 n, {# o
/* configure SysBios to use the lower half of Timer 1 */
- J0 I( p& i, b( E' V# x/ vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
- w4 k2 f& c4 A) \var Clock = xdc.useModule('ti.sysbios.knl.Clock');% a$ z3 v# V. _* L: g" q
Timer.timerSettings[1].master = true;
N7 f$ s+ j/ I3 ?1 l3 @8 YTimer.defaultHalf = Timer.Half_LOWER;
5 v$ C3 d3 t, @3 c1 H. Z/ QClock.timerId = 1;4 c7 E2 w; ]0 s; \, h* x! }
# t9 l. U% d" ~/ U' p! J
% c0 H3 Q+ a s( c9 S/*/ \3 |1 a! U) o( D8 g" p5 ?3 v
* ======== Miscellaneous Configuration ========
. x" ?0 C: T) _! O6 S- u */
6 F, Q% @/ G6 P- [" \& Z) B) U7 R3 y j1 `
/* set default diags mask */
! w% }9 c+ `& _6 H# `var Diags = xdc.useModule('xdc.runtime.Diags');1 d4 C1 j( Q: {; w& R! n7 j) k% C
var Defaults = xdc.useModule('xdc.runtime.Defaults');6 v7 o& O3 o+ ^
0 q5 }! P3 n% V1 L8 o! FDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, J& i5 K1 W! b6 H% ?9 _( qDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
0 ?1 I9 b' X3 Q- ~: yDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; W7 o2 c' L5 u: O$ aDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
7 u7 l' }" m/ C% \- c9 gDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% a5 Q& p: [0 ^7 _2 R: I
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
- a* T0 E4 W/ T1 `( FDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;4 K% S' X+ R0 a: s& ^- R
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% U2 Z+ g: @8 l5 p" V
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
. {3 T7 r( x+ s2 \1 n; gDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;+ K8 r7 {$ ~2 g: u" h0 \
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;" `. \) X* z9 Z V3 m& D( V
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;. O/ \5 d0 v0 Y, l5 Y0 K
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
* w- b, @" K, rDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;! f; A) d4 q+ ?& f
0 H8 T5 {8 e( b/* override diags mask for selected modules */
0 i4 `) o s4 P* o9 N( q; oxdc.useModule('xdc.runtime.Main');
5 }" G; S( `* w, p* s' q9 UDiags.setMaskMeta(
7 P4 M7 d* i0 p1 {; [) e( F "xdc.runtime.Main",
1 G' E& r6 k( h. ^/ z# u& _4 Y* f Diags.ENTRY | Diags.EXIT | Diags.INFO,, r( Z. z# R* x4 w2 [) ~$ s
Diags.RUNTIME_ON% Y1 v6 W* L& @, k1 V# y
);1 _* [9 P* ?- ?; v/ C5 m$ E
) E0 o E8 j3 j( m0 P6 C
var Registry = xdc.useModule('xdc.runtime.Registry');
1 W* k* ?6 J8 k k) |$ MRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;0 Y; P) w9 p4 d3 N1 f/ K7 y
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;( S& x; R) b' _% U0 l L
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;: |2 ~/ Y! z8 C: D2 e, i0 m
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
2 W& G# i# I' A3 ^# A6 C
! c6 M8 }( K3 Y* t: ~" V/* create a logger instance */! y, {+ a5 d+ B4 v1 ]! k7 u5 s$ u
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');7 u, ~' I+ D) r
var loggerBufP = new LoggerBuf.Params();
4 z' r6 }" ^5 g1 r1 d9 @. mloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
+ \4 ~8 h. Z! q* V3 s* v5 NloggerBufP.bufType = LoggerBuf.BufType_FIXED;- `* P% M! r5 d+ y2 ^
$ ~7 `- n) n2 k+ _& R5 G8 [* E" Y
var appLogger = LoggerBuf.create(loggerBufP);
0 x1 _ r" Y1 N6 M; s- {; bappLogger.instance.name = "AppLog_Core1"; f3 t0 ?3 F2 f5 d J$ h
Defaults.common$.logger = appLogger;* E' b% w+ _5 O' G# S( l9 Z- n
Memory.defaultHeapSize = 0x8192; - w0 c y8 b0 v, }# C
Idle.idleFxns[0] = "&LEDStatus";
6 e8 z. [9 n/ A1 JCache.initSize.l2Size = Cache.L2Size_32K;
4 {, c* I; I. W( Z2 P; V6 r9 K! C3 a2 x
|
|