|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* W4 D9 u! {0 i! i" ?8 w
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
6 W) F" Y% h# o( H; Q(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 H% h% a, G7 Z, p! C; X7 ^7 ^* p& q6 n; l7 k. y) ]) \
是不是需要在DSP.CFG中进行配置
2 q' M# o3 r0 y& q+ E, a1 S5 y我现在的配置为
5 D8 O8 ?4 l! @; X* j* L, E9 `$ [) }0 s
/*
- |6 b' X9 Y: z6 `; @3 L0 Z * ======== Operating System Configuration ========
8 ` q( s, h& V! S9 j */
4 s0 S6 K. \ T* s- K) [2 o( a/ l( P. p& W ?4 P0 m
/* no rts heap */
) o+ K# f( p6 D4 BProgram.heap = 0;
7 _# }! A) ]# v, u' |( O& `Program.argSize = 100; /* minimum size */0 G7 N4 @9 t/ a# ^0 Z( f
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
# D X% L- P9 f: Z5 @0 q
6 s& v3 X' @% r# r- j/* create a default heap */
0 d& C) d p7 r5 E5 w. R! ^var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');9 F/ }! {; \; x% o
var heapMemParams = new HeapMem.Params();
. Y: Z2 F1 {4 M- ~/ wheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大4 }/ r+ F$ O0 y8 n( F
( Q, ~# }% D3 f, [4 R; `1 p0 dvar Memory = xdc.useModule('xdc.runtime.Memory');2 {8 L* q7 W6 c% _+ e0 M' w _
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);& d6 E, z/ H) B9 z# u0 u5 J) I
7 @" h/ |1 ^1 w5 H# J: c @: k4 }/* configure System module */' M! @$ }7 q) r& g& n8 E
var SysMin = xdc.useModule('xdc.runtime.SysMin');9 N4 ]2 ?! ^& J2 z
SysMin.bufSize = 0x1000;8 m2 v/ h1 I! c+ @4 |; o' u
SysMin.flushAtExit = false;! h* E r2 u l
6 w0 N$ h& @) W# Y
var System = xdc.useModule('xdc.runtime.System');
! [8 k$ |# b% O9 O6 uSystem.SupportProxy = SysMin;
# {1 l% G( [2 m1 Y6 ~0 c' [: t9 k! @
/* configure SysBios to use the lower half of Timer 1 */
h/ b& w/ P# J2 vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
, Q5 K6 X: ^, x/ r3 Qvar Clock = xdc.useModule('ti.sysbios.knl.Clock');' z/ ]! ~! ?4 q/ N8 W c o
Timer.timerSettings[1].master = true;, N+ b7 v' U6 `( n" G5 N0 h
Timer.defaultHalf = Timer.Half_LOWER;6 q$ Y3 i* h2 R) j/ {2 Q9 \
Clock.timerId = 1;3 {5 M* m; w4 L; y: b3 b( r
0 }- U7 A3 ]7 k- E% r4 g4 A- V: Q8 D M# X5 U( w
/*, b" l, l7 U+ D2 u% z2 Z( Y
* ======== Miscellaneous Configuration ========
$ y7 n# e) ]! t1 M |$ ? */+ z; n* v+ H: N' p
! i7 }1 ]$ u8 ~+ b/* set default diags mask */
8 V2 z' v/ r1 G' i$ p$ ?3 Lvar Diags = xdc.useModule('xdc.runtime.Diags');8 r6 k4 L/ M, k. y# |4 w
var Defaults = xdc.useModule('xdc.runtime.Defaults');
& ~; w' v+ f+ V! [5 r' y
( d* H" r" ^' eDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
7 @0 r5 m; B. m tDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;" ^7 U! n6 l: j: o5 y( {
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
) C' t; B* s T: S( nDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */% N) c+ Y, v# T& R5 E7 _3 a2 Q
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */# T# X/ W+ L8 W y) y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
' I8 N% f( r. A3 Q/ @% kDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;# e( D" Z! u" M) Y+ J: e
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* d& _* M5 B* z q, UDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
4 m/ ?1 D8 ^$ k+ y: I5 LDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;! p9 m+ w \2 \, q* Y4 N' t, E+ Z
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( t- f! Q V2 z- M( K8 |
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 g# u5 J+ T: s* T4 VDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
! z) W0 t( ?' \4 C. d9 kDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% Q2 T6 z6 i0 P6 r" R4 y/ m
( i- [4 v( d! R# y/* override diags mask for selected modules */
- O4 Z; o9 P' v7 Y' t' ]( Qxdc.useModule('xdc.runtime.Main');& R' t7 ~0 e8 u) f' T0 t+ V
Diags.setMaskMeta(
- @6 h, m/ E- K- H5 `& Z "xdc.runtime.Main",
& h" ?% V! F* t9 }% { Diags.ENTRY | Diags.EXIT | Diags.INFO,& p) ?: h. J3 w! V% g
Diags.RUNTIME_ON& @5 o$ i {9 S" e( h C+ Y
);- _, f% [% q$ ~; `; j4 |
! g/ [; U m& i% ~ \' N' V) [; t1 |var Registry = xdc.useModule('xdc.runtime.Registry');
5 L/ r) W! E3 H7 b3 q2 ARegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. E: ~& O) D. x4 C% Q5 sRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;7 |5 [, b( y+ x6 o# p# K5 P8 r
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
5 l) F4 j$ \/ }/ [$ }Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;- C' q2 ^7 a% J% r, m' Y
) _6 X& ]( o) b& y& p/* create a logger instance */
# s/ Y. O3 _0 j& f& ^' u2 Pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
- I0 l: s$ H- D3 nvar loggerBufP = new LoggerBuf.Params();& R0 p- ^% g# ~- o
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
) Y6 K; ^6 a7 m3 y: nloggerBufP.bufType = LoggerBuf.BufType_FIXED;
; C( ]- [) n5 m- R+ D1 r( c# V! V; K( [( B% u
var appLogger = LoggerBuf.create(loggerBufP);# \' G6 V3 Q) f4 a9 h; s* E
appLogger.instance.name = "AppLog_Core1";
4 U: z4 [& _' w) ~4 Y% M. ZDefaults.common$.logger = appLogger;
7 f6 k# I0 x0 l# L$ W7 [Memory.defaultHeapSize = 0x8192; 2 [0 K0 P. L. Z d/ R' i" g2 I/ V$ e
Idle.idleFxns[0] = "&LEDStatus";4 J* G" A- ?4 Q
Cache.initSize.l2Size = Cache.L2Size_32K;# |8 M* q! Z, B2 b K( [9 a
6 V& v0 w" w3 E4 f: s7 ^* V9 B! y; w |
|