|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明- o- u% z A' j* s, Q: h- e
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下. k4 R r5 s% v2 `
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)% U$ ?; [% e3 L8 W2 E3 ]1 c
; ? j/ |; z5 ^; `2 I" R- p是不是需要在DSP.CFG中进行配置, K1 V4 y+ ^% i/ r- Q
我现在的配置为
0 b. S: e8 Y: z7 C$ a$ p+ Z0 q% n/ \4 t* _) d
/*
& V4 R! U. W; {. w( ` * ======== Operating System Configuration ========
: v L6 n4 m2 L# @2 O7 b! O5 H */
3 Q; W r s- P; M2 z7 K% P. s
/* no rts heap */
5 n1 A( e1 J ]! r: F" }3 } `7 yProgram.heap = 0;
3 d1 P" X3 ~! w' G bProgram.argSize = 100; /* minimum size */4 H0 y" O' V: d* h* v [7 P5 C M
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
' N7 L0 `! { W/ ~+ R$ r
* y# Q i- w! U/* create a default heap */& m. Q4 u* ]0 m/ l- V
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# c( t1 d4 K: c9 Y
var heapMemParams = new HeapMem.Params();% K: A p# X, {+ J4 Q) z
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大* H$ _* b1 X- h
) x" M: y8 ]" {, b" Svar Memory = xdc.useModule('xdc.runtime.Memory');4 Z/ S0 g1 {3 L& j+ ^" H
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);+ T1 O& N4 D4 J! c( x) W
9 P, ]' j6 m3 y
/* configure System module */; Z4 X4 }0 R8 X, ^! U
var SysMin = xdc.useModule('xdc.runtime.SysMin');4 J( n7 S: ]- f% c& l4 I* D( B
SysMin.bufSize = 0x1000;% t d4 a3 t. A* P5 B$ v4 c
SysMin.flushAtExit = false;9 }# x3 }, E# |9 W. i
' s( O; w1 h* d$ T) _1 ~* B& y Zvar System = xdc.useModule('xdc.runtime.System');
. _' @% {: V# n+ }! I( l- o I4 `System.SupportProxy = SysMin;
" A# f. o, ~" l. ^0 s L- O
; r; F0 i6 ?5 y) z7 z+ y/* configure SysBios to use the lower half of Timer 1 */
# F8 M- L9 Y# n$ t& j' V$ `$ Z$ |var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
' B1 Z7 [6 _/ z: E' L% F9 I; |( svar Clock = xdc.useModule('ti.sysbios.knl.Clock');% O( @+ d% w& H
Timer.timerSettings[1].master = true;
* D3 h* ^, B. w/ y0 DTimer.defaultHalf = Timer.Half_LOWER;
3 I7 L. y; p2 e# MClock.timerId = 1;
, \6 Z" m% d! R; s; x( m! }, q" k4 G# P5 w1 o/ C1 {
1 [1 f( @3 G: e( C/*
# V2 K3 [3 x( K, t * ======== Miscellaneous Configuration ========
1 n( l& D1 A% y& D5 X' L* K */+ o9 _5 M! r! _7 K( v
- i9 r/ D a/ t5 f/* set default diags mask *// W$ d% N/ b' A* z
var Diags = xdc.useModule('xdc.runtime.Diags');& k5 F- k- y. |9 o: {) @1 k
var Defaults = xdc.useModule('xdc.runtime.Defaults');
2 @% D5 z& N4 X+ x/ \. ?
& V, _' }6 P( f+ m' z! IDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, ]/ {1 V- M# H: ]Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
9 j" C) Y1 P3 r4 JDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;/ l. p* q" w- q! D+ e+ e t# j
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
3 R6 Z5 Q+ X2 h( N! O8 J$ O2 LDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 U0 [7 T4 \9 v
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 N; X$ Y% U/ U" F& ]. ?
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;5 S: ?' W( I) B+ k1 g
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
% Y8 O' q/ T0 C4 [7 FDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
9 N6 l# f, b/ | dDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
5 a8 p: [; R, i( ?( ~ L @7 ?Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
' z, @5 }: A3 uDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
& }! Q$ O. r* g) K$ h) M# EDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;7 f/ B' b" U9 c. W
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
& T; @7 _: o# S% g1 s% i4 s6 j
j/ G" E7 b; Y* ~/ {' a* L. v/* override diags mask for selected modules */
3 P0 b S( W3 t. _- }* Pxdc.useModule('xdc.runtime.Main');! E: r3 [( G& @& R9 B+ C/ |
Diags.setMaskMeta(1 i7 P( V5 y% n) `; y- B! M
"xdc.runtime.Main",
8 R0 J' j1 k; Q! f" n y$ f) i8 @ Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 T/ l# L4 R. J" P/ l& h0 ] Diags.RUNTIME_ON
" _& [; H- H6 V# f) K- a4 h; I9 e% O);
+ r# D# ?$ Y9 i* ]/ Z, C. O9 k, k' Y% K/ s! L) ?& t u
var Registry = xdc.useModule('xdc.runtime.Registry');
* I# q5 ^. s7 w! T% T0 KRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
5 ~5 `, S1 q& i: [( HRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
+ C) S, B& {$ b! F; b1 xRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;) B9 o3 N- J+ R( @
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 d; ~$ W' C# B2 W4 Z H4 P3 ^( c
' o$ R+ U: k- e0 a' h* r/* create a logger instance */% a6 h/ |3 i! v% H: F3 O) ~
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');5 E9 k) V. @& \# n
var loggerBufP = new LoggerBuf.Params();
! c" o5 G/ H! y9 ?1 ?' U, ?loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */: f1 }& A( P: A8 h' C1 b: k' {9 ]
loggerBufP.bufType = LoggerBuf.BufType_FIXED;; w8 w0 i9 M4 H
; O, E3 r% H4 v8 f9 D( _- x
var appLogger = LoggerBuf.create(loggerBufP);
6 \. @8 {! Y) T1 TappLogger.instance.name = "AppLog_Core1";5 k- A3 G" y+ R- ~; I
Defaults.common$.logger = appLogger;8 d% ~& I- H: _
Memory.defaultHeapSize = 0x8192;
8 B. A. ^ R* p* zIdle.idleFxns[0] = "&LEDStatus";
6 q$ @ Y! l* Z3 R8 x6 u; P0 ?' @Cache.initSize.l2Size = Cache.L2Size_32K;
, S; k0 s9 v7 r4 x
8 O# m' D0 n' T: W* m2 K |
|