|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
6 b( b; d) V1 o我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! z. R% x& g8 s' ~& L+ w
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 k4 t- B6 i9 ]7 B: n
# Y, R) L9 b, P+ T) f) w; b0 g% V
是不是需要在DSP.CFG中进行配置4 w. c9 ]1 G8 t; k" f
我现在的配置为& Q, _1 q' q$ K0 }5 x: r
2 F& k- a% R) X( ?
/*! S' ~8 _1 U; _
* ======== Operating System Configuration ========
0 ~% q6 c/ K; ]. F# g */( X% ^; @) a/ M+ {
- B$ U; G$ y M# i# V4 D
/* no rts heap */* H0 Q4 `( ~8 `; |( s
Program.heap = 0;
7 a& K& _! n4 Y# Q$ Y% ~Program.argSize = 100; /* minimum size */
7 d" C) k( m( ?5 K, P( e/ L OProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大1 s# `* Q9 ] x: x! P3 j x- Q9 g
. h! c- @7 Z& P$ i
/* create a default heap */
7 ?6 p0 G, K2 `var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
* j p R: x! _3 H. v6 T' evar heapMemParams = new HeapMem.Params();0 V" ?- \0 c( s8 b: a+ D) t+ s
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大3 Z- F( V' Z. Q( @% A
2 f' b9 T2 ~+ c
var Memory = xdc.useModule('xdc.runtime.Memory');/ x; B I& P4 V- `5 Q
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 r, L! _3 \4 g# M2 ?5 | v* K9 V# l6 {
/* configure System module */8 J. {$ {+ D( F7 U
var SysMin = xdc.useModule('xdc.runtime.SysMin');8 ~: n3 u Y$ o: \; x! c. J
SysMin.bufSize = 0x1000;3 l" ]$ \& C" N( R8 E! y, \
SysMin.flushAtExit = false;+ T2 d; g ^. ^& \
$ O( p& z n/ W# F' U
var System = xdc.useModule('xdc.runtime.System');
( B8 B; a2 ?' N( _System.SupportProxy = SysMin;1 x! l( ~9 {6 d$ N8 W5 f
/ z6 B" g. P6 h3 ?; R4 g
/* configure SysBios to use the lower half of Timer 1 */
* u5 Z& A- |) ]: \9 g0 t4 p/ i( cvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 p4 R: w: ~' R7 C# ^ E
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
' a# |9 U3 a6 N0 }Timer.timerSettings[1].master = true;" `. e+ \- G5 Y- r5 D1 p
Timer.defaultHalf = Timer.Half_LOWER;
3 ?+ K* }6 p4 \7 d1 hClock.timerId = 1;8 Y N' h; D. m ^+ P: i# P" s& j
7 b% } J6 q# B" [
5 e @4 N7 I5 }& e7 T) Q) |; p/*2 N7 X2 z7 m* O8 n6 M5 Q
* ======== Miscellaneous Configuration ========, v, E! S+ _! {& _
*/
/ e( j4 H0 M i$ m% V
+ u/ x9 K3 U! k. m( E/* set default diags mask */
+ l" V2 }8 u+ f1 I: C: Evar Diags = xdc.useModule('xdc.runtime.Diags');& U8 D" ? l& X$ v" k3 m
var Defaults = xdc.useModule('xdc.runtime.Defaults');
8 x9 W( `9 t; K& K0 L! M2 j% n7 Q( Q. r8 f' s
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: g3 j7 M9 s$ ^2 B
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;- L! }/ S0 s$ d4 M# I+ w0 Z
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
% ?6 m' J7 H. e% W: T7 U9 m7 eDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */( S f* Q, | n1 j
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ K2 V5 e7 Z/ H: q
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;+ R% T/ C. ]) \2 X+ _& e l1 W& Y
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;7 H( L9 G0 m0 w7 W; a# w, O. r
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
' ^9 K, b# T4 LDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
/ ]& W& c) Y; K1 ZDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
J7 a& i" z" Z; y. b1 l* Y9 BDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 c1 \6 E6 }- I m- q$ q5 VDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
) s6 e) ]3 g7 hDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
7 {$ A2 ~2 F3 _* L& l" YDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;3 n0 z9 X; t D& q5 V; g
' m$ } u1 s7 @, t0 A. r/* override diags mask for selected modules */9 z8 `) O) q7 x& w8 r3 Q; q
xdc.useModule('xdc.runtime.Main');5 G L; \- l! _& n
Diags.setMaskMeta( i7 _* J3 w; g6 C, C1 x! m
"xdc.runtime.Main",
# m& r8 p' R1 t/ C3 n- z- s Diags.ENTRY | Diags.EXIT | Diags.INFO,* N7 T- h# U: u) r1 Y j& ^
Diags.RUNTIME_ON3 i7 M% E& n F
);" N3 z2 k' c6 Q' q
0 g6 e5 C1 P. U H$ w6 Cvar Registry = xdc.useModule('xdc.runtime.Registry');
+ a' H9 K( B9 |5 ]1 l! h9 _Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;6 G* i8 C9 k2 W6 R
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
/ F; P! r5 |! P. R, G% }Registry.common$.diags_INFO = Diags.RUNTIME_OFF;- X- x2 ~/ r9 V- o7 p- Q
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;5 H9 v/ v; E9 d; O
/ B0 r' J) i# m, Y2 a9 ~7 Q% F7 J" {4 W/* create a logger instance */
- h m! c8 | o |$ a5 V% q/ c. T, yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
8 p9 o5 G: m% E+ tvar loggerBufP = new LoggerBuf.Params();9 F6 X) ?0 ?- r+ R& `9 f- Q
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */4 E0 e" p7 J6 f( {/ W1 X, W6 G
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
$ @+ \7 @9 \6 N4 |8 a
' w5 }+ `' X. M1 f: jvar appLogger = LoggerBuf.create(loggerBufP);
0 l* V) A* Z' B: e' U6 \appLogger.instance.name = "AppLog_Core1";. ~. K8 c5 c4 ?" R- D
Defaults.common$.logger = appLogger;
4 x( v$ ~6 _: J0 W( h# MMemory.defaultHeapSize = 0x8192; W8 O# x! `5 {
Idle.idleFxns[0] = "&LEDStatus";
- @$ u: r3 {8 c0 MCache.initSize.l2Size = Cache.L2Size_32K;
9 S3 I* ], h; K5 G' C; @0 i& B, H9 B5 l* i6 O3 o% _+ D
|
|