|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明2 ~$ I' t' U B3 g
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下2 M2 q6 o2 m& L H
(不过疑惑的是,为何单独DSP仿真就没有问题呢?) o* c1 F9 S+ j8 k1 U" l
8 O1 \: N% t9 G) |, S* r, W
是不是需要在DSP.CFG中进行配置
' f/ q e T+ G. b我现在的配置为8 ~! S7 W( y8 T6 o7 ?
, a$ L( N9 {3 ?6 J
/*. ~% Y7 a& U( ~5 [0 |
* ======== Operating System Configuration ========
6 y6 U5 G# A$ V; w% }; x0 C */
9 I i: r% a; T1 c; G k% h
8 [( x; i# S, P7 _0 B% S/* no rts heap */
, f/ q. V$ I. ^ j5 P' H/ zProgram.heap = 0;
7 u" p5 u2 w( ^8 JProgram.argSize = 100; /* minimum size */' n2 O% m) D% v+ a' L m# Y M
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大* P/ {+ }* _) n
( t) p; M; V0 @0 j7 \0 q& n5 k/* create a default heap */
. D! k# s0 C1 C: G, U4 u8 G xvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
0 f" _- s1 i/ J) d0 [var heapMemParams = new HeapMem.Params();) G( m1 d9 f# Z: [1 b6 }+ w
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
# f( D" U% G% m: R& Z H3 _& x! t
. x9 Y( [- v$ Z' h) L1 ~ M ]var Memory = xdc.useModule('xdc.runtime.Memory');( Q5 c- H# u. `! N* {
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
4 ^2 Q/ u' L8 k2 _9 q7 P6 ^
( a9 C; b* |9 W/* configure System module */2 t2 B; J5 E! p8 y5 [" U; {8 ]& R2 B
var SysMin = xdc.useModule('xdc.runtime.SysMin');( G+ l/ X2 T9 D+ w0 h- z0 W9 X; @# G& n
SysMin.bufSize = 0x1000;
/ n3 H+ G; w0 \% PSysMin.flushAtExit = false;1 C# N; n6 u! \, J5 S" H+ k; O2 X
% d; i3 y5 E8 @var System = xdc.useModule('xdc.runtime.System');! v' z @( ]0 ^$ F4 v1 A
System.SupportProxy = SysMin;' q# p+ e) ^3 [8 F' q9 x
7 ?5 c ]; i# \ k. c
/* configure SysBios to use the lower half of Timer 1 */
- \( o! c' e' v& y- H6 |3 Mvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
' @7 q( ^; ?3 Gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
; Y% _7 N+ d/ q( {) ITimer.timerSettings[1].master = true;
- m5 s8 m$ ]* o" m0 i B& [Timer.defaultHalf = Timer.Half_LOWER;
8 P: a, N; }" c- Q6 Q; Y, q& n7 ]+ DClock.timerId = 1;* y( Z+ H8 n6 t- d
( a# u, b) z/ e; L% F0 x' N
4 k! c7 I, }4 e$ `& b4 a
/*$ R/ t) r0 o6 G8 F& C3 U8 p
* ======== Miscellaneous Configuration ========# l* E6 T/ a. |$ J9 b
*/
, R1 N! j: m9 x' ^( ?2 W* @4 J
9 }3 V, U7 I% C( r& @$ l/* set default diags mask */
3 \( s! S6 _! _. Kvar Diags = xdc.useModule('xdc.runtime.Diags'); h: k! P: e$ h, ~/ o
var Defaults = xdc.useModule('xdc.runtime.Defaults');( L( D/ Z+ Y E0 b$ |2 F
8 Q7 I) ~* C; Z* O# X3 p
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;. z6 E' ^7 d6 F0 W5 `
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 {! }6 ?, w7 P( x$ xDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;# n5 @. q( u# O+ k
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */! N' v* B! z/ m) G+ q! y8 o; s6 R
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */" ^) p& \2 b8 c" e
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 V) t. m& O& i9 ^: s5 l, h$ x) T& ODefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
% |( f+ m! s7 n4 iDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
; r F+ ~( x3 u+ {9 eDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;8 o1 w7 R$ r$ Q
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( O Q( o% i9 F" l1 D/ J" ?6 w. I
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
. N+ N Y2 f/ K* \2 r0 ^Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
% X& R. S& U. L. C% }2 J( GDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
# e& m: n# c, q2 M; BDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;9 U N i F* `9 F' `" T
( T7 p( b0 C( o8 d4 u/* override diags mask for selected modules */* U+ h- G- q4 X
xdc.useModule('xdc.runtime.Main');( L: e, L% ^+ b T& g; S$ C3 Q
Diags.setMaskMeta(
3 r$ z; t' V* { "xdc.runtime.Main",
4 _! ?3 K) N$ |! z0 I% x Diags.ENTRY | Diags.EXIT | Diags.INFO,
( J, i% z2 l7 t Y1 r Diags.RUNTIME_ON0 g L: E# U5 \; _6 F; G
);, M3 `4 M1 q, d8 X
% n6 J, R8 O9 j) I! n
var Registry = xdc.useModule('xdc.runtime.Registry');# f: Q* c _7 F& j
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;. d. q/ z3 [: ~
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
9 [$ \1 |& Z6 l. f9 s% a% QRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;0 M& ^) N6 F' Y% i# u
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
% m7 J, }" i& ?1 }; c$ w
7 E- D5 J4 n8 |5 ?5 _$ o/* create a logger instance */3 c( e8 r# k9 n4 _/ `$ h8 m
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');8 u2 ^3 V4 ]# ]- k2 G }, a0 q4 u
var loggerBufP = new LoggerBuf.Params();
# w9 V2 Y }& F* gloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */: n$ f% h! W5 b. P; s+ P
loggerBufP.bufType = LoggerBuf.BufType_FIXED;8 j! V7 `9 k a- ]. \
! x8 N- k$ w# Y, ?/ v* g7 D5 U
var appLogger = LoggerBuf.create(loggerBufP);
# f$ b) ~$ d' Y0 NappLogger.instance.name = "AppLog_Core1";; m# { l0 n2 `. B
Defaults.common$.logger = appLogger;- D* F- t* `1 i( J. x
Memory.defaultHeapSize = 0x8192; ) ^4 w- }, ]( _$ \# s) C
Idle.idleFxns[0] = "&LEDStatus";) p( o( N h3 g( U6 G
Cache.initSize.l2Size = Cache.L2Size_32K;
' f+ V1 x$ @4 z" P
9 s( v! E! G3 |) s0 p' p' P0 ?7 c |
|