|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
- M- f: z+ Y& Q8 ~+ e8 f我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下; y1 V* D$ d* V/ i n
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
' b9 R0 o7 M2 V1 p3 I8 J& `
. s; v$ R& V1 u3 s3 }% t是不是需要在DSP.CFG中进行配置( _; u. y5 B+ ~3 v3 g$ J h& X4 h( X* y
我现在的配置为
' o/ N* ~4 J+ e. l: B" [/ v
; s; ~- y9 U7 ~( v/*
) Q9 J' p! i) _& t7 C$ i& R! B * ======== Operating System Configuration ========
# P$ c* Y" x. r4 _ */
+ D& L3 T7 [+ \6 d: `/ W
- L/ ?( `! O! Q/* no rts heap */
7 ?( b3 R7 z% RProgram.heap = 0;
( O" J T/ g: a* zProgram.argSize = 100; /* minimum size */
8 v0 e% Q6 U% w2 d5 `& ~Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ r8 e+ d/ D3 C; W% z+ t% D$ g5 W/ |6 ^0 w1 q. B
/* create a default heap */" Z8 W1 G2 b" J0 z2 G G
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');3 l* V/ u4 |/ E5 I: }
var heapMemParams = new HeapMem.Params();
( V: e/ y" r4 X0 E5 JheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
* L7 F. l0 s6 Q2 j0 k
1 k; E) b% ^7 n7 o- c) Vvar Memory = xdc.useModule('xdc.runtime.Memory');. B, H! c. _# `* f% m% r# b
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);3 M4 T0 [( k: t. m- D X( B% d
. H0 C& `# {3 X9 i. e4 C
/* configure System module */
1 x3 l' z+ p2 _: l: C/ ^var SysMin = xdc.useModule('xdc.runtime.SysMin');$ a/ F" U( a+ y, i& |$ @6 T2 o4 ]
SysMin.bufSize = 0x1000;1 e1 N# L+ m1 Q& @7 m
SysMin.flushAtExit = false;
0 H. I, U8 `9 R i9 P7 }( ]) K% _0 t4 A7 \9 b$ L, o
var System = xdc.useModule('xdc.runtime.System');! `1 N L7 d- U
System.SupportProxy = SysMin;
j4 Y8 n+ u }& P3 }9 S( X! k) n! k
/* configure SysBios to use the lower half of Timer 1 */( D _: e2 M- Z7 G$ \, k
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');2 ?0 B8 K+ w6 I( _
var Clock = xdc.useModule('ti.sysbios.knl.Clock');% j* q. e8 L8 `3 o, W
Timer.timerSettings[1].master = true;
0 v& [- q6 B* sTimer.defaultHalf = Timer.Half_LOWER;
1 V& G: D i( I/ l9 _' C0 V/ iClock.timerId = 1;
* R( o( X% W' ]' Q5 n5 u5 K" H! W: \( E7 m& v
: f8 \+ P$ S9 Y2 h! _+ n3 S/*
; h% f& N! ]6 h; u4 [ * ======== Miscellaneous Configuration ========
+ h& h( F4 O' l */6 P; U/ o$ g4 C/ a/ r. u
- e, t' i; v% \$ ~5 X/* set default diags mask */" D# Q' P- V/ g
var Diags = xdc.useModule('xdc.runtime.Diags');' u" \! X$ N [4 v- F2 z$ G# Y! _/ F
var Defaults = xdc.useModule('xdc.runtime.Defaults');6 w4 D5 e4 ?9 _
$ e) L0 j* d1 [; F4 Z9 B6 W
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
3 d$ A& Z, j; ~9 l5 _Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;( X( E% i. `- z3 A0 |% L/ W* i. E
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;& X' z9 r6 x) @2 e, h- o2 w# e
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
3 ]6 d6 n" z G( _8 i3 FDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
. G) w5 ^1 S0 Y& Y: t. q$ D# eDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
0 [: p; z5 V9 x* c* d4 }Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;1 h2 q" t2 |9 @ G* r# u
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;; o6 L J* d- {3 c( n
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
: l7 c% ~6 a" h/ D+ v* e8 TDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
, F6 H9 Q; m: ^9 p* m" ZDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
, I$ K2 v+ t) m/ i/ FDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 B) A) L! D+ C4 {7 d9 tDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
, l& X* f# l( [% ]" C* cDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;3 g# z' k" a& ^% W+ v
$ z! ]! J( t; @
/* override diags mask for selected modules */& X4 u6 J! Q5 b W
xdc.useModule('xdc.runtime.Main');: C& Q$ U% S/ _
Diags.setMaskMeta(, b" r/ \6 o% w: {
"xdc.runtime.Main",. L* G- f8 A# b' j
Diags.ENTRY | Diags.EXIT | Diags.INFO,
% A) v; n! E G7 { Diags.RUNTIME_ON: f2 j( J+ p( Q
);
4 m( W+ G6 ? b3 R* ?. j1 e. O, E$ s: n9 Q# `: K% _$ q- ^) \
var Registry = xdc.useModule('xdc.runtime.Registry');
% n' c! y. S" ?$ u5 `Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;( c5 B6 J" ^3 R! N" Z' Y4 k
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;8 ~- Y# {& n1 S6 P$ Z
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
% [/ U! d9 n( WRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 Q. R' N _6 n- X' L9 s2 M8 g
- D/ U9 B8 c! X$ r& W0 a- r. d
/* create a logger instance */
5 R! T) W( ?+ K4 \5 d Ovar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" D) q/ w2 n2 h' Q* \2 S( @( Rvar loggerBufP = new LoggerBuf.Params();
& m: A) G3 W7 m- Z) wloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
, u/ E% G" {8 t% {* f* a @loggerBufP.bufType = LoggerBuf.BufType_FIXED;; Q6 n, N& D; Y/ I! u* P( A# z# c
. J+ y, h0 ~" v: w4 E% hvar appLogger = LoggerBuf.create(loggerBufP);
( T$ S: Z8 u, i( |6 ^appLogger.instance.name = "AppLog_Core1";
+ s: u7 R/ F, L& UDefaults.common$.logger = appLogger;. i% h/ _; O0 G1 Q$ w
Memory.defaultHeapSize = 0x8192; 6 T9 y: Z6 G' i; Q, ~7 b
Idle.idleFxns[0] = "&LEDStatus";
U, b1 P7 R1 X: x' OCache.initSize.l2Size = Cache.L2Size_32K;6 E+ S' q' |5 t8 {
' ?! z4 ^ J% A0 Q; }
|
|