|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
, [: T8 Q ~9 I( O1 ?; D我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
" s& B6 ]. Q4 b(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 s7 h7 Y; W0 J4 F6 d
6 c( [5 V: {- I: ^8 j( v( {
是不是需要在DSP.CFG中进行配置
% x2 z* q' }/ i% l: i8 F我现在的配置为1 l2 a7 ]: F E, z
; f- q$ ~$ s! @6 r& v8 L) J: ~
/*
( ]+ k1 r: P! t, r8 z1 k- o+ | * ======== Operating System Configuration ========
$ x7 x, E; L. `6 y: z# ?& S */
7 M2 g" d2 Z8 j+ ^
4 U; K- A2 Z4 J* K- K2 [/* no rts heap */
$ I2 l9 s6 y$ sProgram.heap = 0;
% `* h7 ?' ]' aProgram.argSize = 100; /* minimum size */
7 c/ {: Q) t0 ^9 u- E [Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 I3 s0 ~3 f+ Q# c; L8 o$ U( c% }
9 K0 H4 G. @1 H/* create a default heap */6 V; h9 l6 G/ l: {7 b
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');9 l' e) r! b( p( }
var heapMemParams = new HeapMem.Params();/ A( c, i, H. B" C; t. u! U/ U
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
! c2 n. M7 Y2 C0 \
9 t" z9 w ~! Z9 Evar Memory = xdc.useModule('xdc.runtime.Memory');$ F6 s6 C5 U5 B/ k F
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
8 S @+ l# a# u. ^+ X5 O: b7 A7 H$ K8 l) k' O0 m8 b
/* configure System module */
3 o |$ U4 P7 fvar SysMin = xdc.useModule('xdc.runtime.SysMin');
; v3 H) t1 U6 e U! Q2 u8 DSysMin.bufSize = 0x1000;; K3 o* r; D) g, v# w0 x
SysMin.flushAtExit = false;
. L0 Q( m/ d6 U* J% Q7 b+ p: j6 `4 B# R7 J8 l3 e; j/ X# H: C5 v! P( I
var System = xdc.useModule('xdc.runtime.System');( L6 d! T. J0 \8 P2 ^) j5 u& }
System.SupportProxy = SysMin;
) f2 z+ l. o* ]/ L0 {9 d
5 C- s4 {5 }% P! o2 B4 H) e/* configure SysBios to use the lower half of Timer 1 */
7 U) g4 k. {) K% Q* }$ T- qvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');0 Y& I6 Y& y% o" Z% y
var Clock = xdc.useModule('ti.sysbios.knl.Clock');+ J5 c3 V6 z: d" ^
Timer.timerSettings[1].master = true;' Y3 [2 P- E; H D4 i* [
Timer.defaultHalf = Timer.Half_LOWER;; Y! {5 ]6 X/ Q6 f
Clock.timerId = 1;4 s+ \) W7 i& }" @: S
: T7 e3 k6 z$ | l% b( L9 A" ?0 s# C8 K) E' z, a
/*$ |7 [2 [. ]3 @4 a+ ?4 w
* ======== Miscellaneous Configuration ========
6 Z) Q, j; V# U/ S6 @# \3 ^ */
; ^ \. c7 A! E9 m# n8 K% r2 K
0 ^ K5 |# J! J8 ]1 k2 |' N/* set default diags mask */( y% g4 f4 Q; n: \6 F2 L
var Diags = xdc.useModule('xdc.runtime.Diags');; i: S7 E* G% @$ C, x- ?* L
var Defaults = xdc.useModule('xdc.runtime.Defaults');* o; N+ Z, X x
# S$ K Z" u" KDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, C5 y+ w' n4 x5 v RDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
0 P4 ]. R) f6 h, Y& l2 j' B# i$ QDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
6 r$ i# S! d/ z! \; e, yDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */! S" p7 ^& \: C
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
" _* q2 R9 E+ m% O" b3 G/ n$ G: `Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
7 U1 G& }0 K$ D& a" DDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
0 s0 p+ S, \! a5 y5 ~6 ODefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;0 B' F5 r/ i0 t Q h( D' T
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;7 T- | M% S6 _& C! |
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF; y( w( C `; L
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;* I/ I" _9 x6 Z5 C9 P
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;' Y3 h- Q/ ?% f1 {! I6 u
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;+ @" s# L7 j0 @
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
4 ?7 `1 R9 T* i1 e, y8 t0 Y9 Z; x. x8 f+ r$ W, P, p( I
/* override diags mask for selected modules */0 S$ F+ f' d" h2 S4 r' k$ Y
xdc.useModule('xdc.runtime.Main');
: R/ e3 ~* c. [# q4 QDiags.setMaskMeta(
0 m/ ^, J" H$ C1 q, B" Q4 _' f/ A! E; u "xdc.runtime.Main",
# U, ~* _' T. U% r2 b Diags.ENTRY | Diags.EXIT | Diags.INFO,
4 y. M; w5 m' m# }% E' ^: G Diags.RUNTIME_ON5 o8 Q8 E3 V2 C+ ^
);
' P- ?$ F; E' J/ Q: }' y9 v
9 O9 o, _& N) h v5 G, Cvar Registry = xdc.useModule('xdc.runtime.Registry');! m5 J% M0 k9 f2 `
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;( ?! w9 I5 k5 z. d2 I1 d
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
& l# G, ?& o, B+ r2 k' xRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
) l5 p; @6 }1 @3 lRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 V% Q* ^$ t2 C' N7 c: g8 R
# X1 t' o+ ^9 e$ V+ O% {$ M7 e
/* create a logger instance */7 t8 Q: {' H" [' Q# [* _3 C- @$ L
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
+ Y! A2 s" d8 H' d. |var loggerBufP = new LoggerBuf.Params();7 f/ {% [7 @0 m( r$ y
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
: @: P# C% T) l' k. dloggerBufP.bufType = LoggerBuf.BufType_FIXED;
2 O2 P- S$ V/ M
; ]9 t, ]: w5 m8 N1 U: Yvar appLogger = LoggerBuf.create(loggerBufP);
& r0 R7 l0 h$ Z7 |4 IappLogger.instance.name = "AppLog_Core1";: H3 x* w1 {4 H( {; M+ Y( f+ g
Defaults.common$.logger = appLogger;
# f6 H+ c! ~' x# }5 I% sMemory.defaultHeapSize = 0x8192; " B& c$ \5 g3 V R
Idle.idleFxns[0] = "&LEDStatus";
- u% B+ Q7 p3 g8 XCache.initSize.l2Size = Cache.L2Size_32K;
2 V0 h; }- \7 [! t3 ]% \
, @" m- O: L- x9 ?2 a |
|