|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
% k, R2 a8 ?8 e5 l我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 k! x% N, [6 B$ e- ?(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 V s2 R5 E- d/ `3 s5 H; d1 N
6 {3 p& f; `* x7 E$ c8 Q
是不是需要在DSP.CFG中进行配置
* C$ b% g2 |$ _- h; n- c我现在的配置为, E9 c6 w0 g' H4 C" i/ Z2 d4 b4 a
; \/ u( k9 j) u# } {
/*
- N+ v: ?; u7 {- S * ======== Operating System Configuration ========
' ^+ R0 Y3 s. r4 Q; z Q' M */
4 o& [6 d# C- Z
+ p- Q' u6 R1 O8 ]9 {, y9 w: _ x/* no rts heap */( `/ P) z! l1 z0 g% x2 r, N! E
Program.heap = 0;
4 ?0 O" c% o! V/ hProgram.argSize = 100; /* minimum size */* w/ r/ Y. K: c0 [2 V: a( e
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
* A" t/ b6 O i( S0 C1 z( \1 S/ @* X1 \3 a
/* create a default heap */$ D5 e- q5 p+ }: X5 ?( N
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( ^( U' K" @+ T+ Qvar heapMemParams = new HeapMem.Params();
- b9 b9 ^) w! z* H/ LheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大4 T* B4 i* M; \& Z3 f* j
( ~8 A _9 F: S: e: t/ {- I7 o# p
var Memory = xdc.useModule('xdc.runtime.Memory');* I% m j" h. i! Q$ F/ Y& y
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
t. G! s) S' Q5 e& _4 p, A$ P) n/ ]' T* c3 K6 k9 a
/* configure System module */; u N' R4 X% o% I: G, o( s8 k& ]
var SysMin = xdc.useModule('xdc.runtime.SysMin');+ P0 c6 u/ Y; g6 C# V
SysMin.bufSize = 0x1000;# i7 l1 T: Z! T- J
SysMin.flushAtExit = false;
1 ?, I0 [; z* |. P A/ M& G8 |0 F, x) F
var System = xdc.useModule('xdc.runtime.System');
% d$ ]! o; q4 [! i* {7 FSystem.SupportProxy = SysMin;' ~0 O+ U( t0 W
4 P6 U9 A8 L4 [8 p3 A$ M) G2 m O
/* configure SysBios to use the lower half of Timer 1 */
+ A; F. K% R9 rvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( }+ I, c4 G# p* @" N d% H" N* [
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
: Z3 }5 i; }- Y+ ]) c9 k( cTimer.timerSettings[1].master = true;
/ k8 z+ a' d; n% N2 ]) pTimer.defaultHalf = Timer.Half_LOWER;: s7 \9 O4 s" `! E5 B# w; b% C
Clock.timerId = 1;/ I7 F2 j, F& C1 d; Q
4 d i0 f7 Q: w) \. H' \5 Y' @1 V$ z5 P3 @1 D
/*
. ?5 Z2 X8 n( C+ h P" g * ======== Miscellaneous Configuration ========8 F" ], T# x6 B3 }2 N0 N
*/
! O7 s4 m8 U) _4 x' z
& M, x! W" |; k/* set default diags mask */
+ f0 u- J3 k# d2 o; [" M/ xvar Diags = xdc.useModule('xdc.runtime.Diags');
; d) L/ j+ o6 n. g& Z( w* }var Defaults = xdc.useModule('xdc.runtime.Defaults');: D5 P0 T& _( e& u3 k# K$ z
. r$ Z+ E8 C; |% |. l7 t
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 r* j9 \5 e& @6 a& U
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, l, x, r1 |8 G7 k SDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
! E. }: d$ i1 b# n4 pDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */: h9 L4 @+ K9 T" \' x
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
% Q1 @" W3 O( n3 }8 v- UDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;2 H# F. T# e6 B0 S! v1 N/ F5 u
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 _4 R( M# z' E% w' wDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;7 c! e1 H( _( c& ?6 s x
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
" M1 C! Z# c5 Y, E fDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
) `2 u' @4 \3 c- SDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
( P, p% A: r7 k6 Q4 fDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;/ c2 U+ w8 x" i4 M* Z7 i" t
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
0 H) q. v: i. e4 l9 p9 s' `, D/ nDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
5 U% o. V( o, A# p# g. e- O7 d0 W' d: w/ R# j* F
/* override diags mask for selected modules */
6 e b: K" x8 Ixdc.useModule('xdc.runtime.Main');. Y0 o' n/ B) z) \
Diags.setMaskMeta(4 {6 r( Z# {! {. b& c
"xdc.runtime.Main",5 ^# x0 Q5 j/ _$ F' |# N
Diags.ENTRY | Diags.EXIT | Diags.INFO,
- R+ R8 {6 |1 j& I0 d" r0 x! \ Diags.RUNTIME_ON' g9 C. r5 {7 ~! l9 T
);9 p4 s0 Z2 I' y+ C6 o9 N* P. V
! s+ c8 k! a0 h! Xvar Registry = xdc.useModule('xdc.runtime.Registry');5 i3 u v* g8 a2 f! T: _' m; ]
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;5 D) x4 b! r% m& ]
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
, M' ~ {4 j1 H( X; N& k$ p! ^/ dRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;/ W/ t* ^; U& L: X! f! ~1 O
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 B8 S0 Y0 r9 @( v! g1 Z
# U! v& _( n$ J$ z9 _
/* create a logger instance */$ c! y1 ~: {$ N
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; x/ j* g, K3 i+ i0 g- Vvar loggerBufP = new LoggerBuf.Params();' i8 j) t' o" T L
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */% y: q$ N+ F, ~' e) U0 [
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
) x0 @' H; U0 P D# @. H* N& r. f+ E& f# I( G; Z
var appLogger = LoggerBuf.create(loggerBufP);
2 N6 A z& L$ x( y6 \1 TappLogger.instance.name = "AppLog_Core1";1 B# T b% n# e+ P d7 h$ I
Defaults.common$.logger = appLogger;, ^4 n5 U$ X' Z8 d/ u9 h. y) n
Memory.defaultHeapSize = 0x8192;
- e9 m7 I% e4 X$ G3 RIdle.idleFxns[0] = "&LEDStatus";' q( X- K8 X4 k: ~0 k& z
Cache.initSize.l2Size = Cache.L2Size_32K;
" q. Q1 J0 ?0 r" W8 Y W8 Y: g" E! l; M! X n
|
|