|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明- ~* T. G8 s4 a1 ]8 r7 Z9 W( W }
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# w: {6 p$ W. O; F4 R3 W(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
% E( |0 O& m7 n# x+ Y
p/ m- H$ c* j是不是需要在DSP.CFG中进行配置5 Q2 b7 ~) r% R7 j
我现在的配置为
; m& s6 @& Z2 \) m+ Q3 a
0 t6 ?4 t" a, d. c" k! F, o2 q/*
5 n3 Z- ~% J- Z9 z& I5 f * ======== Operating System Configuration ========4 D' |3 F# }) Q* q) G
*/- M$ w0 o* O* B# \0 T
3 n+ }0 q' t4 s; m4 n; X
/* no rts heap */
: h, q1 N9 R( q* q3 W T0 t* TProgram.heap = 0;' C: g& E! D7 w; _, j
Program.argSize = 100; /* minimum size */- d& o$ t: L6 K
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大' r; h- t' M- E6 ]! c: i
/ R5 ^- J' _9 A& K) a/ a
/* create a default heap */* E, i0 m* V N- [/ l5 h
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
/ N+ W F' |+ e6 l' tvar heapMemParams = new HeapMem.Params(); K( m7 n/ Y) X& ]/ M
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
& A9 P2 P. X: J& F) g P0 D5 q% d- b5 R4 O+ k& { X
var Memory = xdc.useModule('xdc.runtime.Memory');- Z9 f/ _( k' C1 u) L+ @. U3 I, V! m
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
1 f5 s& O% Y U! W
2 }! V" ~# |+ I; A6 O/* configure System module */. I E$ O( {2 M+ f# g# B. z
var SysMin = xdc.useModule('xdc.runtime.SysMin');$ ~6 c# ^5 D% I9 K6 h
SysMin.bufSize = 0x1000;+ q( X% M" ?0 i
SysMin.flushAtExit = false;. ?6 b% t2 p* ~" j. `
- g+ l% F( N6 r0 r4 d* y; p6 yvar System = xdc.useModule('xdc.runtime.System');$ x4 y2 {8 Y3 Z1 Y- H" T# A! U
System.SupportProxy = SysMin;1 V( [3 X1 Z# s5 E, s, ?3 Q
4 _) l4 h, C! O: S* b8 T, d/* configure SysBios to use the lower half of Timer 1 */* [5 U$ n1 e: s
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. |! c( @2 b& \% _; x7 Tvar Clock = xdc.useModule('ti.sysbios.knl.Clock');* Q1 e- G6 X h/ m- O: |
Timer.timerSettings[1].master = true;
3 q" t% K4 d" K( J, H6 {Timer.defaultHalf = Timer.Half_LOWER;* T+ ]& i* P% n$ ?1 S
Clock.timerId = 1;
* ~, }. n* v- K: a' n. v
& {' ] P# X5 p3 X- s. n3 w$ M1 ^
: H! ~3 V. f) v0 ]( y! i9 W% Z/*/ ~5 s! I# J+ X* Q' V$ L
* ======== Miscellaneous Configuration ========: m9 }- I* W) R& Y4 p
*/( Z# F, t/ h2 m' a9 z
( A% i8 W$ e: G9 Z$ ~1 i2 l
/* set default diags mask */
6 ?) W" l u+ W' Jvar Diags = xdc.useModule('xdc.runtime.Diags');
; }' y: _9 W( }var Defaults = xdc.useModule('xdc.runtime.Defaults');' S, r- [% M" h+ t0 o; L" q7 |
; _( \4 o* I6 z0 S4 c% I* T
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
+ S. s" d; A" B8 bDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;+ l3 c( i. P% K- W
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;4 h$ Y- |; F0 R: h
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */2 L! S# J/ B! H% l' @
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
3 _3 }. J2 f) ^; i9 [Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;- \3 S4 ?- Q' ^3 q' e5 N
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
/ V" |) i) Z* W: j4 r2 FDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;8 f: X/ `! n5 i, }1 }/ x4 g
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! U! n0 F- n- c( j4 _Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;* L' M; Z( H9 d- X* \5 ]' g
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;+ a7 X! h7 F) h4 `' [+ ?5 R
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
- {1 U9 B( j! L' `8 R; K E( aDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;! A& z# v9 G3 N6 `; k
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
: T5 a7 m9 K* A' c. g; W* x9 ~& l( }) Y9 l& s& R& L% w T9 b8 y
/* override diags mask for selected modules */
) q. d# |) m. bxdc.useModule('xdc.runtime.Main');
: C8 }2 U8 Y' g$ f9 c8 j& h! vDiags.setMaskMeta(( N6 j$ x/ }' r
"xdc.runtime.Main",
, Z! ~+ z. H v) w! U N3 A Diags.ENTRY | Diags.EXIT | Diags.INFO,6 q u& h M& r
Diags.RUNTIME_ON6 d& K* C/ F( a0 Z! Z
); n* }5 S: ]0 F) s
1 E) A# y8 v+ e
var Registry = xdc.useModule('xdc.runtime.Registry');) T+ s. F$ {; V: G
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;4 N; l6 k& \: p" P G6 {( _4 P4 D
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;# l7 V4 t( m3 \: e' D1 p4 }
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;& {! V+ @/ U4 G# W. \& }, ?. R
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
2 G ^& S x! n0 e g
i" [# W* L$ Y+ g% K/ `- D/* create a logger instance */0 ?( P% g, k! J+ }* m$ c
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');( }/ X, S6 ~4 T) z" J! |+ i9 i
var loggerBufP = new LoggerBuf.Params();
* ~% W+ E g: K' E8 K4 `6 OloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
" m* `" Y" P0 x% JloggerBufP.bufType = LoggerBuf.BufType_FIXED;
6 |% d% L; U J6 r! E4 F% Z( P+ }: u! K+ L
var appLogger = LoggerBuf.create(loggerBufP);( W' W) Z. n; n1 F
appLogger.instance.name = "AppLog_Core1";
: ?9 P: P' G1 B3 EDefaults.common$.logger = appLogger;
|8 ?# `, d4 x& \# e% o! |Memory.defaultHeapSize = 0x8192;
, o x9 F4 C8 eIdle.idleFxns[0] = "&LEDStatus";9 Y t- D; H% m9 R* Y: N
Cache.initSize.l2Size = Cache.L2Size_32K;: I: _) B3 k6 s, @( X% v1 c
+ w2 m- {+ x8 |+ _8 R: F; L5 G
|
|