|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明$ P( y j) C7 r: W1 r' a! j
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下' f; Y, x: K$ W
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)! P. ]) D( q8 b$ ~/ e
( o$ h8 j& q: P5 p5 v, `是不是需要在DSP.CFG中进行配置+ }' m- p6 U: z0 |0 L8 |
我现在的配置为
1 x; i* M- `" M; A& Z
% x' ^2 p, _: w$ Y* r Y+ c I/*
2 `! g. c$ _% [5 C h { * ======== Operating System Configuration ========
: }) I# f" a( p4 u$ o4 ~, E */
/ ]: G7 ~# X- E& r* e% }$ I, v0 M' z+ ?0 o+ j/ {8 {
/* no rts heap */
- X, K x7 N6 C! `9 p& h8 wProgram.heap = 0;
6 J/ |+ y$ q' M! @2 wProgram.argSize = 100; /* minimum size */3 D5 E, w, q) r/ H$ y, t e; e( _
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
; b( x6 i5 z9 h& h
9 x. F; \$ ?8 P/* create a default heap */+ F; h2 [5 V0 W9 i Q+ W) i
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');" [- s' Z* Z$ U2 u* A' b5 v7 z
var heapMemParams = new HeapMem.Params();- f) r/ k. ^8 A- R
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大7 c) g0 C2 B/ O) _
! X2 ~" Y8 c* b/ gvar Memory = xdc.useModule('xdc.runtime.Memory');
" q( \: X6 A! xMemory.defaultHeapInstance = HeapMem.create(heapMemParams);5 a G" K/ h; I! t2 ^
% [: N, ^3 F& Q/* configure System module */
) v& I1 d, ]4 u# E. c* M$ gvar SysMin = xdc.useModule('xdc.runtime.SysMin');
; w' D0 l; s8 M9 n0 [SysMin.bufSize = 0x1000;
: S9 }) e& H, T$ eSysMin.flushAtExit = false;) f+ g: n- e# E: M
1 |& G9 i- ?! |8 N! \9 F
var System = xdc.useModule('xdc.runtime.System');
8 I T R* C% D' H& Q; K+ L" LSystem.SupportProxy = SysMin;4 z" b% j# @ k6 U" A
3 c ~1 H3 J r6 a( Z/* configure SysBios to use the lower half of Timer 1 */ @6 l0 ^+ O+ T
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');7 H, b8 @, }$ g! r7 S0 A
var Clock = xdc.useModule('ti.sysbios.knl.Clock');5 ^7 Q; w3 z e9 ~* Z
Timer.timerSettings[1].master = true;, K- q% ^% H3 ?2 a. E9 ]' p
Timer.defaultHalf = Timer.Half_LOWER;
( ^/ H5 `9 N2 g! J* U' O6 kClock.timerId = 1;
6 R# l& {; R; n! ]; H. P% P! |: U( f( K$ Y
, T0 s; f1 n; Z+ {5 u
/*
7 O, o- t7 [8 \- G# Y* x * ======== Miscellaneous Configuration ========
; |2 S3 Q% [5 A5 s7 E2 h */6 r5 A- J# d- C6 ?: `
) R3 \0 |& ~2 a6 a/* set default diags mask */1 e" A3 o$ q0 E
var Diags = xdc.useModule('xdc.runtime.Diags');
, U6 H. _6 Z; t& cvar Defaults = xdc.useModule('xdc.runtime.Defaults');
( H1 x6 ^* D* W4 k" \/ G/ }% K1 h/ E$ X6 v4 }3 ^& Y1 |- J" d
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
' N3 z. }9 x4 w! y4 s( v3 YDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;+ H5 S. V1 E( V. M6 E0 \$ n4 N
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
0 ~3 _9 n0 s3 A q- j5 sDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 V6 S5 v/ w( @ d" HDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% R( Q+ b- T7 c4 Q
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;. H( R* k9 C" Q" m
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 o+ I7 N1 s8 J* n- ?! z, j9 MDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* n4 Q8 ]& i/ D3 |9 a; P/ }6 jDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;( }9 g1 |: `# E; }- i+ h& y
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;0 V. Z2 t: a* X# k# b5 `. N9 d
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
) t* _) q, k1 o' l" K2 ?' n5 oDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
, y; s: y9 f) i. Y( aDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;9 }; [5 z' T; E ?% Y4 X
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) h2 Y# E3 Q0 X4 r8 ?
7 |! i/ L: w( R, f8 C/* override diags mask for selected modules */3 ?+ W# r4 ~: z2 O8 c2 a
xdc.useModule('xdc.runtime.Main');9 c' t8 b+ j4 I* r
Diags.setMaskMeta(
9 D' ` C# i) g% f8 b' o6 q7 \ "xdc.runtime.Main",
$ w. W9 j. {8 J6 v- S7 Z) M Diags.ENTRY | Diags.EXIT | Diags.INFO,1 n1 _5 R/ S8 r% ]
Diags.RUNTIME_ON/ [# s( y. B# H I
);
0 ]' ]; [4 ~3 k# d$ i7 O7 P7 D! F$ z y! J: m# Y
var Registry = xdc.useModule('xdc.runtime.Registry');
- l) z( C( w3 d4 n2 kRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;7 m" N9 q; E& \% B) ]
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
1 R% I5 b7 R5 Q' p# F& IRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
" b& p, T/ K/ u+ E9 @# Y% GRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;# w, t2 Q/ L/ K" F3 d- _# Y8 ~7 ?
7 l1 O* q7 r8 z$ ^5 }' e9 p/* create a logger instance */$ l. k1 n9 U! c* o: c8 P4 L
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) F( X% H5 W# w3 B% T! ^5 G- G* g
var loggerBufP = new LoggerBuf.Params();
# L3 N) @& F' F" c* vloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 W, A, v2 q; s% O9 J
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ Q' N, E& S& Q( n+ I' }% \7 l# \5 q
X4 W, S. f0 [6 F* B" `& I5 mvar appLogger = LoggerBuf.create(loggerBufP);
3 g8 Q1 U$ ^2 k& Z4 d2 {appLogger.instance.name = "AppLog_Core1";
" w8 t( u( p4 J: i8 Q) Q6 L8 q: wDefaults.common$.logger = appLogger;
1 ]* {4 @7 J, X0 M4 e. k" @Memory.defaultHeapSize = 0x8192;
+ q, ~; H3 A! i5 c' J8 A4 M6 p. eIdle.idleFxns[0] = "&LEDStatus";
" b" b8 ^% I/ `2 l3 cCache.initSize.l2Size = Cache.L2Size_32K;" D- `1 l2 A8 |; s! h0 P$ o
O O* u& h( V3 q2 ]- g
|
|