|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明: S7 X% k) i- ^" j; ? n/ M
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& L" R2 Z3 _1 F8 D
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)% W5 |& r0 R! E1 |3 @7 t
/ P0 L8 ~1 D+ k/ d是不是需要在DSP.CFG中进行配置
- P: B' N$ H: k: v我现在的配置为7 I' h6 e7 I& C- H
' P3 f% a3 q1 p3 ?/*
}, ~' \$ a2 k! k% c0 R( y * ======== Operating System Configuration ========9 p F( J; O8 ?6 ?+ [6 g
*/8 [+ l, _8 i. t( z
! v! ]8 E( K+ o0 B+ Q/* no rts heap */0 i9 Q4 w( y+ |9 D
Program.heap = 0;
! |# c. Z# |+ EProgram.argSize = 100; /* minimum size */5 l! ^, N8 k( [9 x9 j# `) C, _: J
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大' }: S. V1 O ?
7 c( [9 d$ c( B4 x+ r; l# _/* create a default heap */! }1 H; q3 |8 q" W$ Y9 S
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
; d6 Z: t3 P/ a" u3 L, c% Zvar heapMemParams = new HeapMem.Params();% N! x: l s' h) V: f. n
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
2 o& j0 }0 Z8 w4 g6 W, F# @5 ]7 P
3 V; `1 V! I+ _# v/ a' s2 ?var Memory = xdc.useModule('xdc.runtime.Memory');
1 V- _+ V- r6 b. F1 b. ^2 @Memory.defaultHeapInstance = HeapMem.create(heapMemParams);# e3 u0 s7 z& w( _! o
u! {9 ^: J8 x9 Z( p; ?" s' e
/* configure System module */
7 L1 {. d( x1 y$ k/ y% Mvar SysMin = xdc.useModule('xdc.runtime.SysMin');
, u& g3 d7 ~, ~# @6 m& t0 M' \SysMin.bufSize = 0x1000;! H$ C$ b& G/ t+ x V* n1 K: S' V
SysMin.flushAtExit = false;
% ^$ O' C/ C. K: b* ^9 }! X! T! D7 L& K9 D+ M. f
var System = xdc.useModule('xdc.runtime.System');
7 y( i- `$ \' P4 K3 NSystem.SupportProxy = SysMin;8 j2 q O" D* C+ R. P
1 r% q/ e1 V8 ^2 K) T/* configure SysBios to use the lower half of Timer 1 */5 d1 S$ U# c/ y' V( ]) Z
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 h0 J$ K- c; P( Hvar Clock = xdc.useModule('ti.sysbios.knl.Clock');8 h8 j$ @4 @8 V1 a5 A
Timer.timerSettings[1].master = true;
( k- [8 o, Y$ @% }8 C6 uTimer.defaultHalf = Timer.Half_LOWER;# O$ m9 R6 U' t* _
Clock.timerId = 1; ?) k' e6 H" x
: t1 |; K- r8 E; v
4 j* v5 `/ Q6 L/*! S L3 j" `8 ~* t" O' W- j. F- J
* ======== Miscellaneous Configuration ========
5 s* u5 u& h4 W8 E5 z+ |; z# r. c */
, J# Y+ R% g+ a4 c2 d7 z2 x
' V1 z8 h) O$ H! f8 B9 b/* set default diags mask */
7 c* t2 z5 a- _' J7 Rvar Diags = xdc.useModule('xdc.runtime.Diags');
8 j6 G4 Q* Q) \4 F8 w% S, w u5 Xvar Defaults = xdc.useModule('xdc.runtime.Defaults');
* Q3 A! b) y# `4 j. J. ?
. A+ B; h5 R5 x) b: KDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
+ n R7 B$ D0 Y* }. \Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;% ^) B" d B, e% N0 v5 ?" o
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
& x5 c0 {: M9 B" _Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
2 d, T9 W0 q) U/ ODefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
, p2 p: _; ]" ]Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
/ D7 `1 L$ g3 [) c( l* }Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) p; O5 {* A& T8 v m( s
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
' i4 {% }- G+ p: iDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;" e- K1 B. o" _0 u5 Q3 K
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;! e) _8 ^: u' Z7 ^( v3 Z, B& r
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;; @6 R' c& ?7 {3 U3 {. ^
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
# A; \' ?' D! L5 lDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
" U( x. `8 {6 q) v, F( W! ]# vDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
/ V, Y4 t% x/ R$ h
1 |3 Z6 v. P. ^+ C; R/* override diags mask for selected modules */
2 d; ^% G4 |8 S' k+ a! Kxdc.useModule('xdc.runtime.Main');
( F4 d. |9 d7 |) jDiags.setMaskMeta(
* _! U9 e0 o9 R+ p- Y% _; I% \8 } "xdc.runtime.Main",
, @$ I5 b. J x Diags.ENTRY | Diags.EXIT | Diags.INFO,9 k6 S, w* Q2 ~: m
Diags.RUNTIME_ON
! d N+ g/ h. M( V% z2 n0 ?);
% I# x p( X$ T7 V! e0 B! N3 W; ?/ \/ r9 l! z* {4 }& u* W
var Registry = xdc.useModule('xdc.runtime.Registry');/ S# v+ L& G# e
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: O7 [! l. e8 [ H( @
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;. m% c- A) C# H b
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;9 g+ u) M m; n- {0 y# G: [+ O
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
$ d# M# L7 o" j7 J, Y7 y$ P5 A2 ] T+ ]
/* create a logger instance */& [% e7 R" s" r: q8 |0 m7 }
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');9 N9 S' ]$ P( w$ D# n( {
var loggerBufP = new LoggerBuf.Params();
' a- C0 F; Q8 Q+ ^- LloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 o/ W9 h% L/ ?
loggerBufP.bufType = LoggerBuf.BufType_FIXED;( u$ O6 L$ x! r; z) s
7 v) W- }2 c% A$ ^+ M; E
var appLogger = LoggerBuf.create(loggerBufP);
# C* r7 h7 x- {appLogger.instance.name = "AppLog_Core1";
/ i/ l) j* P2 Y8 o: r/ pDefaults.common$.logger = appLogger;/ ~ L$ F2 y) V2 G- F% R
Memory.defaultHeapSize = 0x8192; 4 v2 N. J [6 o8 P, `
Idle.idleFxns[0] = "&LEDStatus";% V/ _7 a* _ v, v$ B( d9 q4 E$ d; ]% V
Cache.initSize.l2Size = Cache.L2Size_32K;6 v: l$ L2 l3 F7 x: W. D
" ^2 r/ s: @3 T. w
|
|