|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明% A+ q9 N) v$ d4 a
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' E, `! j' r/ g+ G/ n% ~) j(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
3 F. Q7 k/ m+ R2 K5 y
/ ]. }3 \# _- q9 h是不是需要在DSP.CFG中进行配置
# H4 _- g1 y. G: \. i我现在的配置为
! y6 s e5 i) A8 ^+ [" p: K4 x# P
8 ~) |. S, w/ N8 x/*! V: c4 a: |+ Z; s# R a. }
* ======== Operating System Configuration ========1 l# D9 `6 D3 H$ X
*/4 C* O p6 p: L0 h$ Q- S
2 l/ T( T9 u7 F8 g/* no rts heap */) x K! F3 e' L. V
Program.heap = 0;
9 m6 n- E c- E: _" ^1 R; lProgram.argSize = 100; /* minimum size */
! X# V8 H0 L8 yProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
c! v% S4 S* c* ] b4 B$ @0 }8 g3 O6 C& P$ u
/* create a default heap */, V9 B# {+ `. J7 n8 X7 J2 T* r
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');5 w/ s" V5 b: a
var heapMemParams = new HeapMem.Params();
* i% e3 W$ M ~/ [; N: `( XheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 ^! c" O) b- L& o; J5 h4 H
9 s0 b2 b2 v8 h% c& y6 w( S* Rvar Memory = xdc.useModule('xdc.runtime.Memory');
) e' p/ P E4 ~4 }( @! uMemory.defaultHeapInstance = HeapMem.create(heapMemParams);$ o# d; d/ d7 J1 {3 s
* n' k F5 g8 O" Y* t
/* configure System module */
: P5 ]. i! Y, Y7 t. T$ cvar SysMin = xdc.useModule('xdc.runtime.SysMin');
^, G* `; I! c# m# RSysMin.bufSize = 0x1000;
( H8 [8 I# J4 e& eSysMin.flushAtExit = false;
) t7 {/ z; q( |( ?0 t6 R2 e( y5 L$ `) p
var System = xdc.useModule('xdc.runtime.System');
5 x8 `+ _9 }! i7 F( ?, A$ F7 sSystem.SupportProxy = SysMin;9 Q R1 S% d0 E" _! w. S
7 Q1 g1 I; J7 }. l/* configure SysBios to use the lower half of Timer 1 */
1 {( @. i1 c: ivar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
+ M# C1 K, e9 O+ E2 s3 ~8 Fvar Clock = xdc.useModule('ti.sysbios.knl.Clock');" s' s9 e* _. z, {9 f& d9 s; I6 g8 {
Timer.timerSettings[1].master = true;
+ T( m3 p! `0 Q& l" yTimer.defaultHalf = Timer.Half_LOWER;
" u, D7 n0 F0 L) kClock.timerId = 1;
. h8 k$ b3 ]" r6 ]# w: Y9 z$ R5 B8 J4 v, z
, c. W# x x, l: b# Q
/*# r/ l7 s$ s% k0 _
* ======== Miscellaneous Configuration ========2 ^- |( [# \ E' t7 u3 f/ Y; m: S
*/
& m: {7 \# v; i" X; {& _4 [; q0 {+ t- G9 a0 e' c* P+ M
/* set default diags mask */- q$ ~; y7 v7 g# a6 `4 k
var Diags = xdc.useModule('xdc.runtime.Diags');
! n! T U6 {( o; g# Jvar Defaults = xdc.useModule('xdc.runtime.Defaults');
. B1 a' ~8 A6 H' |( s5 b5 Z/ b$ K8 T$ X' Q+ L+ z9 P
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;4 W9 [7 r, `, |4 X
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;$ x. j: n" K! y2 j
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF; y+ F$ M. `% a, Y; j
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
1 Y9 ?4 ?9 S cDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */& d: A0 ~( w# j, c4 N
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;0 `3 D- w/ U: K6 ?( `3 K0 d
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;' H7 _9 ]* ]' O' [
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
$ f6 E- @' G" o1 D2 K/ G' qDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 S! h" m9 s7 c k: ^ O' b `
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: E" e3 M+ B# ]Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
3 n0 Q3 ~' b# d6 W7 d9 d2 C' `2 d' gDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;3 d8 Z9 q, U0 L7 r/ J7 u( \" v
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 O1 l* K) b0 V) x7 Y* t1 X
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;! Q4 G& T9 }+ H# [9 W1 L
- o; C, ~6 L( H' O& o/* override diags mask for selected modules */7 Z# N" H& ]/ S+ H& n
xdc.useModule('xdc.runtime.Main');9 Q$ I9 ?- A! e5 }8 ~. T1 L
Diags.setMaskMeta(
4 Z- a5 N6 m6 ]7 @, t2 _ "xdc.runtime.Main",4 C/ w8 z" V" A. \
Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 K4 X7 m8 ]- a8 Y L Diags.RUNTIME_ON; G# }. c5 X5 i E
);
0 w5 ~- g+ w6 V" a6 d
. s+ N2 _2 f5 f. Dvar Registry = xdc.useModule('xdc.runtime.Registry');
% v ]- F. ~- e+ z; |6 s# hRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF; C2 \0 P' Q7 I. ~
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 U8 C. o9 i& T8 p! e1 A
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
& Z, Z) p0 V4 s: `% l& R! aRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
5 X4 f3 v& D& B; O5 P9 Z& ]" s( T2 a3 T" }1 Z
/* create a logger instance */
5 f( J6 l9 L, k e7 P$ c$ ]. {var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');0 y5 ^ L- L, ?. `- b+ o
var loggerBufP = new LoggerBuf.Params();8 |; A$ J% {& r. m0 ~5 D s
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */$ z" G5 ?3 p2 `/ e0 A Z
loggerBufP.bufType = LoggerBuf.BufType_FIXED;+ g) x! z" u( T- T% M1 ~: z+ p7 P
7 {% @$ [' B$ @' a% T
var appLogger = LoggerBuf.create(loggerBufP);; W3 m- n& P" @. S; Q M8 ?
appLogger.instance.name = "AppLog_Core1";
2 g$ i" M$ w8 b. l/ zDefaults.common$.logger = appLogger;; N! @# S# g8 L8 i; Y
Memory.defaultHeapSize = 0x8192;
9 U! p/ V; D9 G2 v2 LIdle.idleFxns[0] = "&LEDStatus";
- Q( X; K, m3 i9 ^Cache.initSize.l2Size = Cache.L2Size_32K;
3 A, I+ k0 z, D' D2 d" `: K( a) P+ H2 X( f* {. u
|
|