|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, w( C. S9 S' Y9 P6 X9 o+ b
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
2 G; N" b% R, D) E8 _(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
' ~5 M( M/ W' |& }7 M! `1 r: g1 l) `5 a. K
是不是需要在DSP.CFG中进行配置
' \! u x7 a- E7 A我现在的配置为) f4 l& {0 {' b
4 F) Q, D' k4 ~2 F' |
/*& o& \& Z& Z2 ~4 b" G& _
* ======== Operating System Configuration ========' F6 n# u; j! R" E* P( Y
*/
8 f# D& n$ I- G8 P1 d- A! ~# x# J @* g9 x. l8 ~1 J
/* no rts heap */; V# T6 k- P' o2 i
Program.heap = 0;
5 q2 M6 z6 [; o/ `+ F6 y& w% [Program.argSize = 100; /* minimum size */
: [4 m4 N$ ^% O7 l( }$ dProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大5 @ N7 M0 O$ Z% Y
3 }: H. M2 R2 n6 \% z# a
/* create a default heap */) C! d5 w7 @& ^" ^" T" ~$ O: t
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
0 D3 J! h1 Z; g- Cvar heapMemParams = new HeapMem.Params();
9 V7 L5 g' J* eheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大" I% N; p6 K! e- R$ I, D
" q u9 z0 g% o4 Z1 r" @2 M
var Memory = xdc.useModule('xdc.runtime.Memory');
8 N. V. u- B& f- UMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
3 c6 Q& Y J' {0 @2 `& p
# |" j( x0 D5 |: A" z/* configure System module */7 i% x4 S! v- Z
var SysMin = xdc.useModule('xdc.runtime.SysMin');
1 ?. I7 a1 _; BSysMin.bufSize = 0x1000;1 ?3 @9 ]+ j" c K& a1 P" A( P; J6 v
SysMin.flushAtExit = false;2 Y. R/ i. v' [. h) ]* e8 t1 l
3 e( R$ r% A- c4 a) b
var System = xdc.useModule('xdc.runtime.System');
' r: p) K9 `( ?( ?2 K6 NSystem.SupportProxy = SysMin;0 n: m/ p2 n2 B6 m# z1 Y4 k3 _* v
/ P: k' p; T7 a6 b1 A4 F/ v
/* configure SysBios to use the lower half of Timer 1 */
_, M/ G) d6 [& [) m6 }: F- Y" vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');4 e. N9 ~; a8 ]
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
6 |; a8 N ]$ D8 uTimer.timerSettings[1].master = true;
8 U' J$ _) e- A; Q, m: s; O* OTimer.defaultHalf = Timer.Half_LOWER;
& V! R" K; c6 b& b1 gClock.timerId = 1;! O$ ^2 b5 o& K7 p8 C' _/ m0 T- {
6 X5 k0 U5 \# n( W+ T
, ~# D4 p3 u+ n0 U! P. Q/* A0 N( \3 Q/ c; Q
* ======== Miscellaneous Configuration ========
8 E( G, b+ G1 _2 y$ }3 m; w: q */
+ M% L* f/ F2 i& E' j P
) S" c1 S" p! w5 s9 \6 o/* set default diags mask */
! V/ f7 c, ] T) [' hvar Diags = xdc.useModule('xdc.runtime.Diags');+ h. ~# L0 ^+ U9 p. l) v. L
var Defaults = xdc.useModule('xdc.runtime.Defaults');% q9 r, k6 A( Y& T2 d6 e6 m% ^- o
0 q% X6 b1 q- C0 r+ h
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ K9 ]8 f% j: e5 p, N3 _; }" K
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 t3 r4 w- A6 [Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
% g2 ?* p' Q- b1 N3 LDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
( c; g/ w# I; c: d- J, h wDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
& s# V3 C! w" W! w1 w% KDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;! m3 F& x0 U7 V8 w& Z b9 g
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
* g1 h& I) w# A! X, ~. Z2 N9 rDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;8 ]! [8 ~* j8 ]' x
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;* E* [% A4 T$ |' h' X" R
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;" p1 s6 ]6 L$ K x1 t2 U) h" O
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;& C+ m* F/ k$ E% H
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF; ]8 X5 n2 n, T' ^& Z: L, ]
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 e/ W* ~. S& s. o& Q2 |/ zDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ G. ~. y* `+ H* V `1 x
' H$ U# N5 S3 ?/ B+ p5 m/* override diags mask for selected modules */! A7 V4 m3 X) @+ b7 i
xdc.useModule('xdc.runtime.Main');) ^) d. I9 p3 d
Diags.setMaskMeta(
3 s( v& L+ B* ~6 F1 f$ x+ \ "xdc.runtime.Main",3 G, ?! |+ X0 k/ Z; d% f
Diags.ENTRY | Diags.EXIT | Diags.INFO,% e1 u7 m/ @4 O( k% x
Diags.RUNTIME_ON; g5 u, e3 J; i
);
4 W6 {1 h+ ^7 y' b
, v+ v. H8 }: N3 B7 tvar Registry = xdc.useModule('xdc.runtime.Registry');
6 _# ~, Y+ W; b" t, F1 wRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;$ t8 Q' K# @- ^2 ^" j$ {
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;* c& Z7 @& W- N9 }. T4 E- s* _4 h
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
% D6 J3 f$ O% d6 K2 x" GRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;5 c" N) q+ I. y2 Q6 v1 O ~( n( ]
* A: F9 ]5 O8 k: K' }
/* create a logger instance */
3 u J, o2 t- M8 Yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
, `" \# X3 l/ w& e! ^1 zvar loggerBufP = new LoggerBuf.Params();" ^2 _( e" h! E, v$ Y
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
/ R* a/ H: v5 M; Q/ I/ yloggerBufP.bufType = LoggerBuf.BufType_FIXED;% @# [8 V# R: u/ Q8 @/ b0 \
" k9 T; k6 y. Y d9 j! Q; \, g
var appLogger = LoggerBuf.create(loggerBufP);; L h, j" Z/ K* }( S) g
appLogger.instance.name = "AppLog_Core1";' e" S2 r+ B8 d! y2 \/ _
Defaults.common$.logger = appLogger;( X" R' }: l7 W+ }% e9 {
Memory.defaultHeapSize = 0x8192; 5 m0 K; n0 W0 S) W$ J. C+ d
Idle.idleFxns[0] = "&LEDStatus";- t' A3 f& K0 ]! M. s* I+ }. A
Cache.initSize.l2Size = Cache.L2Size_32K;
+ v9 p) X* t' S1 F/ A; P4 V
( d4 o& d9 \) B( t |
|