|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明9 b3 w F8 w8 Q* C: y; N m
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* @+ ?2 S I; y6 e. k(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
0 _7 ]; b! y1 q/ P( O. |( G
# Y' F4 z$ |+ v. Z6 h; O, Y是不是需要在DSP.CFG中进行配置0 Z! Z+ g0 T5 M6 p' P- t! m1 g
我现在的配置为
" B" A7 Z" n# ~/ |( X! }
5 m% P4 F7 M. S; ]% a! N* i/*7 @* _" U! [( ~+ i$ k* ]" A
* ======== Operating System Configuration ========
; }$ z# I w6 d' W( D# C! H* ]9 H */
, ]! _0 R* X( |2 ?/ y% B4 t6 `+ [# V
/* no rts heap */! s( g2 d+ e1 ]0 d/ w
Program.heap = 0;
& p1 ^: H3 e8 H3 k8 k6 L [; X9 ~( iProgram.argSize = 100; /* minimum size */* l& c3 N- { `% z" u+ F
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
2 Z7 q/ R+ r9 e f
% ^- }0 W1 V+ g8 L0 C& C/* create a default heap */
1 o/ c _# Y3 C6 Q y5 |9 \2 hvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& G9 d& @* t# o r
var heapMemParams = new HeapMem.Params();
g& Y/ u) |- d$ u+ t& A! sheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
7 b c! H, Y9 I" u4 _, ?* u& O5 ?; x" |+ K4 C6 x; _
var Memory = xdc.useModule('xdc.runtime.Memory');3 e) _. l5 S4 Y/ @+ K6 n* M7 [4 p
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);3 z a1 l \- q% t6 Q+ Z
0 t1 |8 e, V) j' }) ^- W2 f8 ^6 E/* configure System module */5 T0 Y: a% f1 I) m3 D
var SysMin = xdc.useModule('xdc.runtime.SysMin');& K8 L2 r9 T$ f. z: X
SysMin.bufSize = 0x1000;
0 l+ |# x! b) x2 T+ g# l# \$ c8 `SysMin.flushAtExit = false;0 O5 G( H. a& I* @! W- v
) k8 r1 _& D" O$ Zvar System = xdc.useModule('xdc.runtime.System');
2 X! b% l- L2 i( C% T0 YSystem.SupportProxy = SysMin;6 s- q. |3 U0 g0 }( m% p3 |
0 \ Z) v/ c" a, C$ F+ J6 R
/* configure SysBios to use the lower half of Timer 1 */; N: n( r6 }0 d5 o. z/ K" K: C& B
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');8 h4 P( |( W7 n7 N) V, {
var Clock = xdc.useModule('ti.sysbios.knl.Clock');" g/ K- t$ [* i2 J& s6 g
Timer.timerSettings[1].master = true;
' h" ]0 a3 j* \! jTimer.defaultHalf = Timer.Half_LOWER;7 S, F+ T: S7 ^: A4 U
Clock.timerId = 1;
2 F3 \2 Y: A3 Z" r
* p9 z( p5 N5 |& V+ x; {9 K; h, {. R
/*
" f' f( K% [% ` * ======== Miscellaneous Configuration ========3 }) |+ i3 y8 e+ k3 A5 x9 F3 P
*/- n9 V% V$ J2 p7 k5 W
/ z8 Z3 }6 ^. [) t: H) y
/* set default diags mask */4 p1 w9 c4 p9 Y: y. Y- y9 [
var Diags = xdc.useModule('xdc.runtime.Diags');# R( J' ^9 \7 e& @
var Defaults = xdc.useModule('xdc.runtime.Defaults'); m9 R8 B7 h7 ?( M" E) @, [
, G( _. T: n7 T5 @, ^$ Z' ~Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
5 P- |, P; f+ U) T' g$ H' W, i* a4 EDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
G2 n/ ]+ G8 n dDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;9 A5 ?5 O, ~( @! ` W6 i3 O
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */( B! [3 M: U5 K2 G/ X
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
4 j5 e, z# }" e' E0 wDefaults.common$.diags_STATUS = Diags.RUNTIME_ON; I4 \( _9 s0 U1 c. V: q3 W. d. n+ ^ \
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;6 W+ t! q. L2 Q6 h) Z; I
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: a8 d; z @# s8 q V# k" lDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
# O8 C" S% p+ C5 O. eDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;2 c/ T- i8 }. h5 I
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# A" ^& o% y0 o+ ?8 Z
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;$ x4 j8 t' d. a! _6 \6 J
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;: |8 G) F2 l! U5 G* m
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
' Z7 p2 g0 M: Y7 S6 Z2 W
0 @8 g3 M! w. H4 {1 E: f" F/* override diags mask for selected modules */! x2 H$ z! s; M4 ~/ H8 a
xdc.useModule('xdc.runtime.Main');( ~6 J, e/ C j+ k4 t+ _9 v
Diags.setMaskMeta(" q7 S! T4 J8 Q, {6 t
"xdc.runtime.Main",) z5 ]. L6 m: Q7 @
Diags.ENTRY | Diags.EXIT | Diags.INFO,
: D" C% a) u2 n& p9 s( B Diags.RUNTIME_ON
4 z* |+ i$ x' m8 v3 u);- Y% o/ z0 }; b+ o7 O0 k& ^
/ R" o5 v: r* v, g; \( n0 Cvar Registry = xdc.useModule('xdc.runtime.Registry');& K: @6 B% Z/ r N% G$ _: {5 x3 b
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
2 i: k; P4 m# e' i( fRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% e- V4 n/ o( O- l1 |Registry.common$.diags_INFO = Diags.RUNTIME_OFF;2 x8 p( H5 C% O1 F1 Z* I( S
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;6 ~1 s6 F% M) Z+ k- {- k# E
$ B j' t2 O0 Q) H
/* create a logger instance */
% _7 s0 ?3 m2 a! f2 h& o' ^) j/ R# g# Lvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');( @3 P# z" W% ?
var loggerBufP = new LoggerBuf.Params();
, Q) H3 A" ?; s+ p; hloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */( }; U& w. {9 c" y0 f; G, V
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
6 H/ I' e& p; w9 q4 ^+ X9 T, U
" Y9 b; Z0 ]# k6 Rvar appLogger = LoggerBuf.create(loggerBufP);" v- Z2 Q$ z- A( f
appLogger.instance.name = "AppLog_Core1";
' }2 ]2 U" ?7 g7 ZDefaults.common$.logger = appLogger;& F$ }! V1 ?# d# Y& y
Memory.defaultHeapSize = 0x8192; . H) E' U5 A" m# w
Idle.idleFxns[0] = "&LEDStatus";
; C5 v& R w" B! HCache.initSize.l2Size = Cache.L2Size_32K;
* F$ D0 M- ~" J% G
: u. ]/ i7 Y& ~1 u |
|