|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& h9 A/ N6 y8 m, B# g$ A- t我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下, \) m, L1 H" C4 U6 O
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
( g% d K. N8 z1 v6 A) D6 y5 F% I" A. v8 Z8 d0 U
是不是需要在DSP.CFG中进行配置
+ y# v7 S7 j% l: u3 E' i我现在的配置为( ^4 ~4 L- r* e4 ^ Q$ Z9 @
2 g+ y. z( Y: D. J4 j
/*/ n* u6 B3 X( v) f; {5 y
* ======== Operating System Configuration ========% M# p3 S) H+ {0 d; ^# v* `# N
*/) r! X* @ o% {& A) \2 _% I- }
; j' \6 K9 l/ _: V/* no rts heap */% E& I9 b) k6 w9 T) ]0 i
Program.heap = 0;
5 h1 s0 c" L9 R7 f( q& b( uProgram.argSize = 100; /* minimum size */ ^) p: l4 `- }2 X4 R# v
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
$ |/ L- t& n- u, x$ r( J
5 K) a/ A# [ j" ]9 }/* create a default heap */0 |& ~1 P: n$ q: y; [7 u& V& K
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 m/ L( _1 E- Q& W
var heapMemParams = new HeapMem.Params();6 r- s5 ]- y* Y, s
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大1 J" Y: g' K# o8 l$ T
8 a. W' @! P% H" W9 Qvar Memory = xdc.useModule('xdc.runtime.Memory');
2 F9 x. N7 H# m% s4 o7 \Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
, s' N! ?5 D2 V: V7 h8 ^+ `/ s
9 H/ B* Y: C, ? ^/* configure System module */
; O3 U2 v; I7 Z# @var SysMin = xdc.useModule('xdc.runtime.SysMin');
$ f0 R: p& D# [) M" S! p9 j# r; zSysMin.bufSize = 0x1000;5 O) S* T$ o; B7 z( Y U
SysMin.flushAtExit = false;# v0 z3 h; t& g! t" j5 K
6 G4 G, e7 [" w& j$ bvar System = xdc.useModule('xdc.runtime.System');
" f8 V. O+ h$ z, c: fSystem.SupportProxy = SysMin;! W1 u8 h8 H1 g. Z" d4 q
& U4 E: z7 n# q* d# G6 i# n: x/* configure SysBios to use the lower half of Timer 1 */
5 K, H( }( R: W, C s( Qvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ u" g/ u% s6 @6 D2 ^" _# u9 Gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
q( Q4 C; q( D N5 |- b" qTimer.timerSettings[1].master = true;
6 e7 x- g9 r: @( V+ D7 m2 ~# C, UTimer.defaultHalf = Timer.Half_LOWER;
! H4 X, L* S U7 V" x& v/ zClock.timerId = 1;
2 `' x; J# C2 y1 `! u/ Y# ]" n6 p* s) Y6 Y
. U, k$ c2 Y% b0 r* [
/*" k, @% o6 X+ c7 v8 ]# v
* ======== Miscellaneous Configuration ========4 j6 C7 Q. n1 j" m
*/
8 E |( c6 L2 B! R* w, ^) i- x- f+ v# ^) \( W: q& P% r$ Q
/* set default diags mask */# i4 g0 P/ J2 T& s) i
var Diags = xdc.useModule('xdc.runtime.Diags');
1 V) D# U/ f! m: ~4 a8 F# Nvar Defaults = xdc.useModule('xdc.runtime.Defaults');8 g' I7 g5 {3 v8 h r8 }& K+ L# X
$ {# q! L& r9 U [* GDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 q& J7 u! t# KDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;8 u; e# }* y6 V4 H. n8 X0 T+ S
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;" O% H, |" }& I8 j6 m* J& f. o
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */9 C, X; A0 T* ]+ f3 O1 r( V
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */- z) T" Q e5 P- D- d2 Y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;6 @9 S' v3 d; T2 ], M% y
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
5 j0 [7 K5 T. d( aDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 a+ ?1 l1 D" {& [
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;" l4 v% j+ j( S7 H& N
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' y5 _" g: Q! r1 T5 P( w& r; GDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
' ?4 G! Y; u. u1 D3 l5 N: jDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" {+ P. V+ M" ?7 [Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
0 |+ K- j5 N- D# T1 j: EDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
d$ `5 L1 y7 H' v4 S
7 A4 U/ K, d; p2 `/* override diags mask for selected modules */
! ~3 ]: \) y* E% `" } v1 K9 V+ rxdc.useModule('xdc.runtime.Main');: H1 Q, v2 q7 _" o- ~
Diags.setMaskMeta(
% b V! D7 W5 H+ f }3 v1 F6 W8 R; m "xdc.runtime.Main",; b. F! h6 @! r1 Z
Diags.ENTRY | Diags.EXIT | Diags.INFO,% [1 x( I% o; _9 W
Diags.RUNTIME_ON+ E7 V7 P$ B" Q7 E; i- U/ O) n
);
) a5 h' k7 b2 i" d3 L
) B, m! O% w: b$ h1 V* R. Bvar Registry = xdc.useModule('xdc.runtime.Registry');
( L6 n# t, ^8 [2 tRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
" Y7 Y- \9 R1 S7 y1 YRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
3 c& j, U" D& K! [% H/ O1 R' cRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;5 m u7 E5 H- l5 X& G O
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
% x5 } \& t7 a4 z# T% T- P+ H3 }1 E }1 I
/* create a logger instance */: X4 D2 a& q; z3 J8 ~9 s, k
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; h/ w7 N; Q8 G$ \; ?- y4 yvar loggerBufP = new LoggerBuf.Params();
( I) w6 c( h( `: ]) s+ }3 I# H; PloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
+ S. M: l7 R. \# t/ j# {loggerBufP.bufType = LoggerBuf.BufType_FIXED;. y% d1 W% t/ Q- ]9 X
( I4 c' @9 N) P) \var appLogger = LoggerBuf.create(loggerBufP);
' Z2 l* v: b) J7 ^* ^appLogger.instance.name = "AppLog_Core1";
5 u d, c4 }- e" Y0 d: C4 IDefaults.common$.logger = appLogger;
3 K8 }/ x4 d& _Memory.defaultHeapSize = 0x8192;
0 m: i$ k# ?' H3 o" M( jIdle.idleFxns[0] = "&LEDStatus";
$ B; C! X* r, {3 u: ?' ZCache.initSize.l2Size = Cache.L2Size_32K;
: d( O% v; A1 ?( b) G& p- E8 M) x8 Y h6 K' j4 d2 J0 n
|
|