|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& _7 v& W1 h5 X1 I我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下4 [( ~% W: ]8 x6 ^* t$ ~1 M& R5 N
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
+ ?! _- c9 g- h6 f3 K) c! Q6 L; D9 ~% g' ]7 k$ ?
是不是需要在DSP.CFG中进行配置
. ?! }8 n5 i5 j' R* {) ^我现在的配置为5 u2 w8 \) U! h& x u
7 X7 g( y6 N5 e, k. s/*
/ g) H. j) t* L' N1 G- O * ======== Operating System Configuration ========3 O2 ^) _, w# s+ F. a: {8 z1 {3 H y0 ~
*/; B( I$ m1 o! d1 ]) \9 ]
+ X+ M2 \1 M# `% p% N/ A/* no rts heap */4 b, l8 n, H6 i% g% `: S6 B) i
Program.heap = 0;1 y2 z6 e* G4 i9 s( h( u
Program.argSize = 100; /* minimum size */8 z" h9 E2 @# Z2 d
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, `$ `8 B2 L& a; S
1 ?2 r& t2 B! j" \3 j' O/* create a default heap */
& G9 r/ o, @7 d" Ivar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
$ F( o7 J( G% Q2 Y( Wvar heapMemParams = new HeapMem.Params();
/ C$ O$ n4 f n+ o8 W, NheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
# p0 E' }6 z2 i2 \) l
3 e/ C0 E0 `0 n2 t5 G- Avar Memory = xdc.useModule('xdc.runtime.Memory');
4 `& c7 i) x1 {6 f0 i% d4 Y: ~Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
/ V, Z# t- W* G Q/ h* Y- Z( z6 T
/* configure System module */( `: n$ ~; |# g0 l8 U2 j5 @: g4 _
var SysMin = xdc.useModule('xdc.runtime.SysMin');
: i- x5 Z8 o( d8 @' i7 FSysMin.bufSize = 0x1000;7 d8 d" j0 L$ F$ \- G |2 P
SysMin.flushAtExit = false;2 V! E: @& S# s& n- S0 f
. [- `3 p! y, \$ p6 I9 _/ g$ o
var System = xdc.useModule('xdc.runtime.System');- k8 x% L8 a3 x% s& t" ~
System.SupportProxy = SysMin;
# k; U& L1 J7 \ v$ J
, B' P0 {9 Y0 ~2 _+ w w/* configure SysBios to use the lower half of Timer 1 */
6 {4 O8 ^$ D0 _% ~$ kvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');4 G) t- B2 v" W+ q
var Clock = xdc.useModule('ti.sysbios.knl.Clock');* v- ~7 i2 O# Z7 F3 J
Timer.timerSettings[1].master = true;. q5 w, g" ~4 Q6 {8 M# x
Timer.defaultHalf = Timer.Half_LOWER;& Z9 H7 f, l8 y4 F( Y
Clock.timerId = 1;9 S* z- `: M1 b- D1 @+ A- K
3 H7 h9 ]9 M, y! v4 r1 Y- }# v# }
( @' O/ }5 M- f* E7 q C% p/*
' F5 G# d, z% E$ |/ a- |* O * ======== Miscellaneous Configuration ========
5 y% i8 p" ^, `& H6 t& V */
! |5 ^( p% f+ \3 q' b4 {( @) |" L9 M
/* set default diags mask */# U" K6 V1 ^0 j8 g2 }
var Diags = xdc.useModule('xdc.runtime.Diags');# F# m: a( K/ E+ A B) `
var Defaults = xdc.useModule('xdc.runtime.Defaults');
$ w4 ]/ J6 A$ e1 @# | }
4 m6 Z) t& ^8 v9 o8 e0 b9 }8 ]Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
$ l4 O, [/ x9 S: N5 n# g6 ~+ QDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
1 y3 S& ` i1 G d! p4 ^Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
8 z; I2 T4 c- ~. X. R# [% C$ UDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */# w* l; I2 K/ K, [/ V
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
6 z6 t7 U5 i1 v0 H/ M( m3 bDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;3 ~. n- V, _- O% G. M) I( u
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
O& y5 {& x( P/ |6 TDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
- V. m+ U8 G% [* O, r$ L6 D+ wDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 z; D3 n) Q+ e# SDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 d: D" m' q" d
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 m' _; I2 i; Y: K( V
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
# ~0 l- X( O* \4 }; B: M) YDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
' y8 l5 }8 ?) M) ^2 s! tDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
! G0 C, Q" F& v& B) `9 `$ o) P* G
( d% r$ o5 B* y2 W: \& D z/* override diags mask for selected modules */
) ~6 q, @" u- f' ^xdc.useModule('xdc.runtime.Main');
9 p: n) B5 |5 ^* |0 J6 y0 M7 ~9 _Diags.setMaskMeta(8 A* u7 A. u1 C
"xdc.runtime.Main",
2 H4 b4 N; r" K$ j5 U1 m Diags.ENTRY | Diags.EXIT | Diags.INFO,# l7 k( b! Q" I# I
Diags.RUNTIME_ON$ p+ g: B, b o9 G. z, a! l/ {/ H
);" v- c. D8 Q" r* |
" I6 x2 {' F& r( H4 b9 a' ?
var Registry = xdc.useModule('xdc.runtime.Registry');
" }) C8 `, w/ J* k0 qRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
5 V2 D* a9 f2 i- FRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;% t, {" Q, u4 `( G2 t; x3 f
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;/ g2 Z9 S* s/ H I
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
( E: n- H. u/ }# X: B/ p2 d
8 T2 ^ M, O) j4 x, E/* create a logger instance */
' v% |2 u' y! n0 bvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
3 x% R3 U4 A7 K4 n/ X' s& Uvar loggerBufP = new LoggerBuf.Params();
4 \% b% a! w9 a; i9 ZloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! d) V3 X; m* g% A) [7 c6 I! d: a
loggerBufP.bufType = LoggerBuf.BufType_FIXED;* i6 M: A6 p5 |+ P6 U# ~) y
7 |6 A: K& ^0 W( n! zvar appLogger = LoggerBuf.create(loggerBufP);
: I! N" k% j8 t* _appLogger.instance.name = "AppLog_Core1";
+ Y2 ?* o6 Q4 s* j aDefaults.common$.logger = appLogger;' Z p2 R8 b' Q4 }' h+ o, P
Memory.defaultHeapSize = 0x8192; ( E9 x4 N. C" Y5 `4 T5 y
Idle.idleFxns[0] = "&LEDStatus";6 m2 K, t! S6 O0 e6 Z; S
Cache.initSize.l2Size = Cache.L2Size_32K;
6 l" W- B) `4 Z3 `4 q7 ~3 }* ^, J2 |
|
|