|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
$ k+ e! U2 M$ ], v: `, c我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
% \( x* f% G9 Q! G& j- k0 `(不过疑惑的是,为何单独DSP仿真就没有问题呢?)' C6 ]# j+ _# ^( s6 Q) i
) @8 V, n1 [+ u4 X! T6 f( E( _
是不是需要在DSP.CFG中进行配置- ?! _; b; u- \. r/ ^/ {
我现在的配置为
4 F' W4 _& s/ H2 O7 f& ?
3 L# a" G& L% m0 z+ G4 ^/*6 O* B; k4 B8 J& o: Y" E/ a
* ======== Operating System Configuration ========. l* W& d/ @9 m/ C8 z
*/; G" M; e$ V( F9 E: @0 z
% ~- ?5 `3 O9 H" J/* no rts heap */
0 ~: `3 i: q/ lProgram.heap = 0;5 E c3 W' t& Z) h5 t
Program.argSize = 100; /* minimum size */
7 T, a$ m7 @: M* hProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
; X7 |5 Y( l1 h/ J3 y4 n' t3 Q( J9 F0 m9 u" K0 u3 e
/* create a default heap */6 r3 {+ o1 J0 y# I% B
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');- n3 l; E, @- o! f
var heapMemParams = new HeapMem.Params();6 M0 w) x* u. d, t& v" k" `
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大/ g- r" a. z- L1 l) H. ?" F
3 J0 C; m$ ^8 L# v* c. D5 O. W4 u
var Memory = xdc.useModule('xdc.runtime.Memory');
+ {7 u0 p7 G* @2 b9 BMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
, ^ X) F7 f7 f
7 d+ V+ X4 h0 L$ V; P4 V# p2 X7 t/* configure System module */
* W% g1 K2 q- {1 `7 L/ z( N9 Xvar SysMin = xdc.useModule('xdc.runtime.SysMin');0 V* `& a2 C0 X) ^
SysMin.bufSize = 0x1000;) z! o. Q9 G& ?. o; l
SysMin.flushAtExit = false;
& |* Y0 x8 }) v0 D" o' h/ T; B" C. J( E8 c0 h5 q# p! C
var System = xdc.useModule('xdc.runtime.System');( Z: O: w, @) C( p# Q
System.SupportProxy = SysMin;- r$ h! U' M. Y- t& l; @: M% P2 K
+ K; [9 g' o; e/* configure SysBios to use the lower half of Timer 1 */: w* w6 T: \7 J4 Q$ y R
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* q) Z2 \1 K. g+ y3 _6 cvar Clock = xdc.useModule('ti.sysbios.knl.Clock');- @# r3 G$ R7 x' K7 x* `$ k7 z. K
Timer.timerSettings[1].master = true;
: I3 Q7 r$ S C( L: t/ RTimer.defaultHalf = Timer.Half_LOWER;2 i( F7 T# i: A
Clock.timerId = 1;
, @3 K$ T9 {/ ^: J8 k
5 P; ~9 R" G& T4 O$ v3 {# v0 b A% J) V3 P+ V$ b& a
/*7 S0 H% Q8 W# w9 B" H
* ======== Miscellaneous Configuration ========
) n4 j7 N# `* @! R3 U7 c */7 h+ T/ i! g3 x$ S' S/ S* @0 W+ Y
6 U: _. I' u. ]5 W+ F/* set default diags mask */
+ q# F- ]5 E+ O( }. a3 l: D* E1 D9 @var Diags = xdc.useModule('xdc.runtime.Diags');2 o8 [! w* h e' e% l9 h1 d
var Defaults = xdc.useModule('xdc.runtime.Defaults');
5 {* E1 {& p/ Y9 E& @5 `, c6 T
' t; n( R# u2 b4 W6 xDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 e9 j1 I9 t$ M: uDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;* l7 ^1 R' l# d! Q9 s
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
8 w3 @! y, F& X: G5 n8 m8 _$ TDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* Z9 Q3 V" i) M8 J% x
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */# J, i8 _* H3 g! S$ o
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 N c3 N3 [1 e; A4 o- q, U; i- i9 {Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
e& F3 s M# I! YDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 B4 B! M" Z* x7 fDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
; \ ]6 O1 C, h0 o: O# zDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
! I& _& \3 W8 g$ i( KDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;8 l. P- Y' g$ A/ x c" J% E* F" T
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;4 ]1 F# H! i$ d$ h1 P& a* s
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
0 p" X2 E; c8 [! v2 L( WDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;3 C# y/ P- ]( I
* ]: Y* s3 h7 F6 R/ G$ t
/* override diags mask for selected modules */5 L) |/ s- R9 h S# C, S( A
xdc.useModule('xdc.runtime.Main');; j, e/ I0 [ D' `9 T3 C2 B' I. ]
Diags.setMaskMeta(' A6 W. ]( Q7 Y/ O
"xdc.runtime.Main",
1 ` C% Z0 r$ D2 u4 F& F* R% t Diags.ENTRY | Diags.EXIT | Diags.INFO,6 Y# h5 b* Q! F5 w2 s
Diags.RUNTIME_ON4 I/ P: f, K+ v4 N) X, [
);
0 e) {& @& p# \/ ^
4 d, G( ]2 |& o, fvar Registry = xdc.useModule('xdc.runtime.Registry');& y/ x! P' |$ F4 p
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;( |) c0 o5 \% c9 ~# a, b/ n
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;) c, _ l/ T$ [7 m
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;1 M4 R0 L5 h4 r* |
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
" B/ \. A& B# s3 G; Z9 \) o6 V2 X# d5 R% i6 q9 o7 N- _- w
/* create a logger instance */
. Y- l p2 |5 I6 r( ivar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" B5 S5 t! p$ V: }+ yvar loggerBufP = new LoggerBuf.Params();
/ q- |: y+ |7 n7 JloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! W6 j/ s3 d% n- k3 o( v
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
6 F8 t, T, F! n% |+ |% R$ D, |9 }8 @* X, \: Y6 q$ e
var appLogger = LoggerBuf.create(loggerBufP);/ i$ j; E' F, y( [# A6 ^, y
appLogger.instance.name = "AppLog_Core1";# w! z/ E8 l7 w& P$ O( j) F2 h9 M
Defaults.common$.logger = appLogger;* u* f$ x; v) ~4 r1 _3 J
Memory.defaultHeapSize = 0x8192;
5 ~+ U% o$ O' b. X" C0 I9 m) j: O- ^Idle.idleFxns[0] = "&LEDStatus";
. F& d$ I( z$ R/ K1 v) u5 {Cache.initSize.l2Size = Cache.L2Size_32K;
( S* r6 h9 i8 j# ~/ D5 l+ o. g8 p+ P. W4 u) ~
|
|