|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明9 g Y# ?, ?9 V+ E; y* o) e/ G
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
; I9 l1 N9 z5 t- Q" y* B; @! F(不过疑惑的是,为何单独DSP仿真就没有问题呢?)1 D3 o8 [4 {3 Q; `$ l2 C" D* ?0 ?# j
3 D* W7 I, j4 y是不是需要在DSP.CFG中进行配置
7 Z3 \! ]* r7 y+ x% p2 r我现在的配置为
( ~4 c, e( Z( d( B, K' V, [8 d8 ?3 r7 K1 O5 J5 i
/*( P7 ?- E: x- C \! g: B
* ======== Operating System Configuration ========+ Y$ Q& s7 B9 L9 I& L2 I, u: A
*/
1 j0 J# f; V- b0 v% |3 J0 Q' D% j/ Q) o! i
/* no rts heap */
- k; a+ i. F- H' Y0 cProgram.heap = 0;" U! P& ]5 L. w/ L9 Q6 l
Program.argSize = 100; /* minimum size */3 U/ h" [9 E+ A1 o* r/ t
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大5 T/ p- R, F5 x: l+ Y
# Q5 Y; e* }5 Z/* create a default heap */
; Q+ T. O: Y# T) ~; c- mvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
% i Z3 H# l; ~# l9 K- D5 x3 Rvar heapMemParams = new HeapMem.Params();6 `5 L& E1 M; C V3 L
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
& U* T) M, K( t2 F" r) {; l" [+ Z( c( c% |4 b" s. G$ |1 C
var Memory = xdc.useModule('xdc.runtime.Memory');
7 u a( O4 ] k5 D8 Z( pMemory.defaultHeapInstance = HeapMem.create(heapMemParams);" ?3 c- J* D$ w$ a
* Y$ {# g' p7 T* U. z
/* configure System module */
3 R5 t! y7 G* F5 Z( i; gvar SysMin = xdc.useModule('xdc.runtime.SysMin');, t% V! Y" X9 m
SysMin.bufSize = 0x1000;
+ k7 A5 c- P- R: A- ~; c+ q& jSysMin.flushAtExit = false;. `/ b' |2 w( J: @. P. v5 _0 p
* a, I j% Q6 R+ s
var System = xdc.useModule('xdc.runtime.System');" ^ @+ D, H8 A# `/ }
System.SupportProxy = SysMin;: P+ P/ J! Q; m- x6 \; u" }% [$ L6 C
/ F5 m6 @3 f h6 L% @9 o
/* configure SysBios to use the lower half of Timer 1 */: P7 I# j' W9 V$ A
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');. d" N, s! K) h* E. o4 J3 z
var Clock = xdc.useModule('ti.sysbios.knl.Clock');- K {6 m; |" m$ |5 [/ F
Timer.timerSettings[1].master = true;% O, \" `; Q. [" Z% o
Timer.defaultHalf = Timer.Half_LOWER;7 t# r9 I. r5 D
Clock.timerId = 1;
& y% V6 f7 U6 [; }6 h$ ?0 x( O6 S p/ D+ x
* B8 a4 M6 u X( a: z9 z5 s% S) I/*' k# W1 l3 u' i T3 R; h
* ======== Miscellaneous Configuration ========% F- I. w ?9 A4 I3 G7 U
*/3 i% D! W4 Z. N, z
3 [1 G' T, J4 |3 p- a: @1 C/* set default diags mask */, W2 d8 I1 g+ c! U- S' w/ m
var Diags = xdc.useModule('xdc.runtime.Diags');8 H! h% G! Z* y- S( B
var Defaults = xdc.useModule('xdc.runtime.Defaults');
. {: B+ ]5 R6 W/ _& g ^( m! Y4 o L3 l! P0 N
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
3 \! E& l8 p1 i: w+ a4 @+ qDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;6 `# D) e2 u, s! `
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
2 z" q5 r6 Y% N2 m2 |- hDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */' R& c+ C9 ?9 B
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */- K, e1 e. e3 G. ]+ I9 f0 Y& B
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
% J+ ^) u+ \' a5 @0 KDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
( m+ c- D+ r( ?) pDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;$ \# z5 D1 ~ {7 q4 z
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 n+ U: o" H2 ]Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;, k: @, k# u; i1 T) B) T0 `* I
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
( U% d# Y& V. g' @2 V, n9 PDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;5 s9 b# C9 P6 Z. H
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;! A2 {5 @& Z; b' o% j4 L" p
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
1 S1 t8 ?: j) s E3 b0 W; @9 E8 j- Y% ~1 w2 K
/* override diags mask for selected modules */
7 ?* ]% }4 B9 l# D, zxdc.useModule('xdc.runtime.Main');9 M" ?# c+ w3 G0 E
Diags.setMaskMeta(
, o) e5 `! q8 S "xdc.runtime.Main",
$ z2 ^7 E' g7 @& A% T: r Diags.ENTRY | Diags.EXIT | Diags.INFO,
: C3 ^0 v# U6 ]* e6 r6 v y Diags.RUNTIME_ON
6 x! O' n' b" Z# |; v);
5 g! i$ n9 }7 o! u/ T8 Q
2 E0 `* I5 {( v9 Z* r$ a# U( d- J( }var Registry = xdc.useModule('xdc.runtime.Registry');5 b/ r1 `! e2 S+ a
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
& t! D' @6 m- y9 TRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;: R* v5 ?) q2 U. e: |/ u
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;) B' V5 I; k2 d! ]
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 J2 U7 X& C9 Y2 Z/ q9 }
$ H, [, B/ C% \8 t" C: U% J+ E( g) A/* create a logger instance */ F2 z) O, o5 ?$ L
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');6 H: } p# L& ~4 U# x
var loggerBufP = new LoggerBuf.Params();
0 w0 K7 I7 U: u- [( l% s! QloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */ ] |" f6 L- p9 I5 W
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
# ?+ D6 j8 r( `1 V3 N; C( {3 U5 M- V1 b
var appLogger = LoggerBuf.create(loggerBufP);
$ w' |7 g b/ }9 d9 ]2 Q h# gappLogger.instance.name = "AppLog_Core1";, @ g' J4 V7 Y! K# U2 G
Defaults.common$.logger = appLogger;
+ G e, t: s( F& fMemory.defaultHeapSize = 0x8192; J9 g1 E# I8 x
Idle.idleFxns[0] = "&LEDStatus";
/ G, u" F. K7 W+ ?! c9 ^/ `Cache.initSize.l2Size = Cache.L2Size_32K;
" e+ T: }( h8 ]4 s) Q0 \
6 z! a& |8 q' d w |
|