|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: Z- q* E' n! g; d1 `5 c* Y我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下9 f1 r& P3 w& K5 f
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 p- m" x$ ^4 C1 Y1 W
7 a$ r% D: S* ~+ M U. y8 k( s是不是需要在DSP.CFG中进行配置" w9 Y* m$ |$ E
我现在的配置为9 C) P% p9 v4 q& R
" C9 n8 P8 p* y: w( h. r% j/*
# o1 D. [! `' S% l& N * ======== Operating System Configuration ========+ n. b+ U( {: j6 D4 I; |
*/
8 T( k/ t1 K! D& C3 e, q( _2 u N5 `4 ?' b/ @# ^* Y2 T# h
/* no rts heap */* j7 y. j- F$ n* Y# p" F& Z" H$ d
Program.heap = 0;5 N6 R! R7 @# O5 X+ x7 n
Program.argSize = 100; /* minimum size */
6 H% C# O: ~1 x6 a( H: F# `( [Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
- \' r$ C; l2 S+ \& |7 z$ G
+ t1 ~* {7 x- Y0 f& ~" z6 h/* create a default heap */
3 {" }+ H' i# U9 Nvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( n) Y5 G+ ]' K( J3 pvar heapMemParams = new HeapMem.Params();
0 \/ d5 N/ N3 F6 Z+ q: JheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
0 p; T/ i) z9 z3 z2 L* ~1 v) Z) @( A
/ {* E! Y/ u7 U1 A0 B4 I8 j# rvar Memory = xdc.useModule('xdc.runtime.Memory');- y T t4 g, A8 A4 [2 U
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);' P3 z9 ~$ @/ k2 I
$ f2 h( w$ A) n. l. h/* configure System module */
2 a" H5 _% |$ J9 T9 zvar SysMin = xdc.useModule('xdc.runtime.SysMin');
6 y, ?9 h+ W- p" f* K' ]SysMin.bufSize = 0x1000;% s U( Z5 ~% }( L
SysMin.flushAtExit = false;# U4 R1 f e4 ~( {9 ?
' _2 c% O5 X" yvar System = xdc.useModule('xdc.runtime.System');3 G" _8 ~$ I& p# Y z
System.SupportProxy = SysMin;1 J; \ Y1 b p
: Y; t# O( t2 M0 O5 m
/* configure SysBios to use the lower half of Timer 1 */$ U6 _, e# I2 h* a* L4 s) M
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
+ E) }6 C( \& q4 ?: C6 T7 hvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
' {# @$ \! K8 W( T) K/ o8 ^- TTimer.timerSettings[1].master = true;2 t4 I% V+ T; v" ^# e$ ]3 `
Timer.defaultHalf = Timer.Half_LOWER;; A& J m( Y0 u9 r* ^4 R) f# }; f/ S
Clock.timerId = 1;
/ `& t2 X) ?* S. M( E# V6 ~) G/ B+ j: P* O( Q
6 D' R+ k9 f7 P/*9 v1 N' a z0 k5 Z
* ======== Miscellaneous Configuration ========
- `3 F+ Z) O _8 o- k. M! \# N' O T */
! R# T1 L9 R' f5 ~. E# {7 t' @( g X( \% b9 Z3 n3 P
/* set default diags mask */
$ k0 i2 m9 h& k# f0 D8 m" Evar Diags = xdc.useModule('xdc.runtime.Diags');
* \/ ^+ F0 E* ^var Defaults = xdc.useModule('xdc.runtime.Defaults');
0 H. I7 m$ L+ `# @. A x+ m5 a6 k- I
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;$ s& K1 b3 e# ~
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;+ l! q/ ?# G' q9 m# S' z9 _
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
8 f Q, S$ i+ hDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
& r7 l; c) J. t) q7 ADefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */+ L ~7 W2 W/ T1 y! {4 {
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;* x2 Q% b0 ]- N( q
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;% D- H: r! O6 s+ E
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
2 h% e) i; z; h ^/ x: qDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
( x0 J: m1 A$ X3 [( n& W3 r& qDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% `1 p. b) B' S) B5 L. ~
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
& W9 |- g" k* B" n; _, Q! W9 U+ tDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;) u7 t* _2 \9 d0 i
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
. E3 i3 Z @+ B( fDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
) y- H, v2 P2 b _; S4 V+ V( t
+ n. K) y9 }4 R8 X. D6 `/* override diags mask for selected modules */
% D* M0 y6 ]5 Z5 x( ^1 S7 Nxdc.useModule('xdc.runtime.Main');
$ ]4 B E0 j8 T, N, {2 v: SDiags.setMaskMeta(! c8 k3 w5 g- L2 e8 I
"xdc.runtime.Main",
+ n+ s& [9 Y) @& r Diags.ENTRY | Diags.EXIT | Diags.INFO,: E/ `. D# J( Q m W3 o( q
Diags.RUNTIME_ON
) x ^6 b' P' g0 h8 L);
% _7 y" e4 M) m5 n1 l$ J( o: c) `8 O1 A- h5 ?) O: N3 @* ]1 V
var Registry = xdc.useModule('xdc.runtime.Registry'); D# A0 S3 F3 t; n$ W
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;! ]# G( f8 i, N( O8 m+ r
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
0 J9 u, x! O3 I; l1 lRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;$ K9 h- @1 \' {
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 s7 Q. n: x5 P/ e
9 i- |* S7 L/ z2 T9 J4 ~7 W
/* create a logger instance */5 `# M i* }4 A! E4 W: G
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
5 F1 ~) u, F, uvar loggerBufP = new LoggerBuf.Params();, K1 G+ m6 J: g6 A
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */6 ~( A1 S/ {0 l, V' I: A5 B; @: [
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
' T8 B) Z' R% p$ l8 X8 M8 o, Z+ o8 J8 O1 C
var appLogger = LoggerBuf.create(loggerBufP);6 `9 X3 L" f; E3 A9 L- v* ]
appLogger.instance.name = "AppLog_Core1";4 i0 J' `5 y7 U6 | H9 \
Defaults.common$.logger = appLogger;! w& k( ~& T: }" f" M' {+ n
Memory.defaultHeapSize = 0x8192; ) m( _/ U2 L7 F4 @' V+ ~/ w2 B
Idle.idleFxns[0] = "&LEDStatus";
/ `+ h; H+ Q9 R; ^: DCache.initSize.l2Size = Cache.L2Size_32K;2 G. N2 l% ~; h1 W$ m( E
' \6 s! @5 X5 U8 K0 z
|
|