|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明- t1 ~ v& r: i( g* X% v a' @
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) x" [+ Y, U+ o5 G5 _( @: l(不过疑惑的是,为何单独DSP仿真就没有问题呢?): E# m, i4 U0 T& F
3 \* j( e% I* B4 j
是不是需要在DSP.CFG中进行配置! }. y8 y6 }6 O8 ?
我现在的配置为
* A/ |5 G+ I7 {6 z. [2 o* r. p) u# ^9 @. q$ l5 [
/*: Z" c& w9 B, |6 Z
* ======== Operating System Configuration ========
- v; b: J8 i) Q" _% Y% G */; \6 H: [3 ~: z* f. P* q! ], e
' ~, h5 k( H+ T+ }- q8 @/* no rts heap */
$ b- i3 s# k4 s- `6 c8 `0 NProgram.heap = 0;5 T1 J9 w0 ?5 e" b. ?1 a! {- W; U
Program.argSize = 100; /* minimum size */
( N( n$ ?( `$ TProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
& P9 v" H# t) z! {5 ?
, w3 g1 i& g4 Y' f" |/* create a default heap */! @' C4 O! f; @0 x9 J
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
* y9 t2 i1 S0 yvar heapMemParams = new HeapMem.Params();
. m$ S4 f ~) h! X# XheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ | K) {* L8 {. u2 ]
) V+ d# P9 G$ x7 X# K: pvar Memory = xdc.useModule('xdc.runtime.Memory');
5 ]! t" L) n6 `. BMemory.defaultHeapInstance = HeapMem.create(heapMemParams);, P4 u/ R) k- G. v9 C
# R/ y" `! I* B* y9 v" T9 D$ \
/* configure System module */5 E0 K! s4 o4 C- Y& f; h( m9 I9 V
var SysMin = xdc.useModule('xdc.runtime.SysMin');. J1 A6 u! J2 U# r" e) r8 D
SysMin.bufSize = 0x1000;
7 x$ \7 T( l" J9 x; rSysMin.flushAtExit = false;+ o) ~. z9 t# N3 B
! C% p* D5 U u# Q
var System = xdc.useModule('xdc.runtime.System');
7 a* R: K$ s7 m/ B7 b" HSystem.SupportProxy = SysMin;
) h" T( A, S- V5 z2 q: l7 c. D, v! i7 s* t- O
/* configure SysBios to use the lower half of Timer 1 */
+ c+ [6 [8 o0 _- N! c, wvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
% W5 o; G' x+ Y1 m$ \var Clock = xdc.useModule('ti.sysbios.knl.Clock'); z0 I4 O; E) K* \8 h( `* h
Timer.timerSettings[1].master = true;) G7 Y2 G7 C) I
Timer.defaultHalf = Timer.Half_LOWER;
, z4 \% R( F: E. C Q* y( TClock.timerId = 1;
/ [4 B( {' M2 h7 z! S2 g" b% b; e6 R; K2 w2 s
$ K% {, r) h G9 K
/*
8 C9 L( M- y! X4 L2 x * ======== Miscellaneous Configuration ========
: u: J3 }9 s" Y, j( H2 T' M */0 |' Y& _" h& K
0 w8 S3 i. F ~" y2 A
/* set default diags mask */: {( N: W0 r& ?: J2 B
var Diags = xdc.useModule('xdc.runtime.Diags');
$ D8 z `" F3 I; a4 ]var Defaults = xdc.useModule('xdc.runtime.Defaults');
s& [7 N$ U$ y: p
3 _3 t! R8 y' p9 ^2 jDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
7 N" ^7 K& f2 k: O7 o! R: oDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;8 V' i- U9 g1 c4 A
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. z1 _0 y6 W w. Z9 cDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
8 M( z' K8 Q9 F& |Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */4 H4 y$ S7 L5 J
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
- U6 Y2 U/ i+ R9 K! QDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;# v" S4 ]1 X) s, s4 H
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
# `# A6 M3 Q' L" u9 A8 PDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;+ x8 C) k* w- r. {( C
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
7 V; {. T2 U) X% S6 o3 Z1 b/ U8 PDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 q2 `" f0 E, ZDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF; M1 X. n, E: t9 H# k
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
T+ P/ W% C* N4 ~3 m) u6 ^5 oDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
/ h& W. C# \3 ~$ M3 D
, Z' O) k' |. ^1 k' a& e, s/* override diags mask for selected modules */
4 Y2 B; O' g1 E7 u& Z2 nxdc.useModule('xdc.runtime.Main');* Q! x/ W6 L2 x- N
Diags.setMaskMeta(
W- c3 B2 h# {1 \" f2 Z "xdc.runtime.Main",
+ U( c5 |3 {+ H6 \. z* Y Diags.ENTRY | Diags.EXIT | Diags.INFO,
7 C1 Z! H. i( |4 C. A! P2 \ Diags.RUNTIME_ON
' L- U% t/ T' q# Z);
4 M. R; c. h" j5 G5 D. A
; @8 Y8 r9 }. W9 @7 O7 Q. s6 j; gvar Registry = xdc.useModule('xdc.runtime.Registry');
7 t( _! s5 [1 J: ]$ k/ j9 I. oRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
3 Z$ X8 @( S8 }2 E6 V0 qRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;: Q# X: w# T3 P9 V! O% b
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;5 U( d# q: }: y9 X' t
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;$ ^! _. `, z1 r1 P6 l, b
( _: z. D. y% q9 X! \
/* create a logger instance */$ l/ \3 c8 z; d$ t# I
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ D0 G9 m# o: ~' z/ K
var loggerBufP = new LoggerBuf.Params();$ q# F( J3 n8 A7 h) d' K9 v' A
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */, U3 |: j: ~3 T# G* h: r
loggerBufP.bufType = LoggerBuf.BufType_FIXED;( p/ Z) ?. Y6 w$ x8 Q: v+ Z
* N5 g8 e1 A0 e: J! r7 L; Vvar appLogger = LoggerBuf.create(loggerBufP);
' w& @- f5 x# DappLogger.instance.name = "AppLog_Core1";$ T; j6 d0 o9 B0 j
Defaults.common$.logger = appLogger;
" @2 C1 ^' \: O/ |Memory.defaultHeapSize = 0x8192;
0 s2 ~1 t7 o* iIdle.idleFxns[0] = "&LEDStatus";- G" v$ ~ r# O4 C1 e! m! C7 ~4 J! p
Cache.initSize.l2Size = Cache.L2Size_32K;4 R0 n7 ?+ R, U9 n6 S
( Z* L$ a1 S' ?! m( ~9 F |
|