|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( _# Y5 H) h! L8 @我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下' _/ q* @5 P) t& A9 `
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
! V+ V0 @/ a4 p9 x- b5 T, m, {1 H0 f1 a; D1 ~8 Z4 ^* y) j. C
是不是需要在DSP.CFG中进行配置
0 A- n, l; i# A' v6 P我现在的配置为
" z$ O8 Z) S" n) y
# N% i. j# g5 u5 L! j/*4 K& @ ?5 {- x( J$ ^) a
* ======== Operating System Configuration ========
. F, d3 f1 I, u8 n$ h9 Q */ k' i/ J5 H [0 L6 I O
7 `9 @( U7 T& [" M. b* q
/* no rts heap */
* K* M/ h& w7 c5 EProgram.heap = 0;% I- K. ]$ K$ \1 a+ V3 \. j
Program.argSize = 100; /* minimum size */
- V/ F. S* `. |( |& Y2 t3 MProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大/ i ^- m1 ^$ R! O
% M5 v5 A9 h7 c i
/* create a default heap */( d- l6 s9 O6 T" R" O% k
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ O8 j; }; i6 r7 e, n9 \
var heapMemParams = new HeapMem.Params();! e3 w, ]+ o0 w6 p- F% ~
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
) A) D1 O5 B# i! Q" L
9 c/ n' [. z. Ovar Memory = xdc.useModule('xdc.runtime.Memory');
9 E/ U9 t' a' \& BMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
9 j/ {5 Q1 X6 f }+ Z+ M* ~. G9 P$ G' s/ N) p$ ]4 d! Z
/* configure System module */
3 d* o& _! N2 }4 Ivar SysMin = xdc.useModule('xdc.runtime.SysMin');" i5 n1 r" \( J1 G
SysMin.bufSize = 0x1000;8 r9 T) @ t9 C* i' t& T
SysMin.flushAtExit = false;
2 Y3 s$ w3 k) v- v5 ^
1 ~3 ~6 p) q/ v, U$ e) `4 ?/ gvar System = xdc.useModule('xdc.runtime.System');! B* M! w6 V1 h3 T! |& t
System.SupportProxy = SysMin; D) I7 l. @8 _ V8 x( C4 h
. p+ l9 h4 I) \/* configure SysBios to use the lower half of Timer 1 */6 `# u5 @0 u* F* j9 {$ K1 G
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 q4 w0 B1 x7 W L" j7 Q; Z3 m
var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 C& h E# i4 n. Q: u V' H* H
Timer.timerSettings[1].master = true;
, g1 f! L% m9 |5 q: B5 O: @Timer.defaultHalf = Timer.Half_LOWER;
9 {2 k. m& W) e* _Clock.timerId = 1;
+ p' g' T( i% y& W
$ }: V- p/ S$ l! {$ Q0 U! _1 I' J' K7 u
/*9 b& T1 z% {. S
* ======== Miscellaneous Configuration ========" C' |, a; `6 c0 S l# x9 [; E$ v
*/
$ `6 H$ X8 Q+ j6 O, `2 s8 y+ l/ ~: V. {1 {
/* set default diags mask */
! O! b) y3 ]5 m8 L7 fvar Diags = xdc.useModule('xdc.runtime.Diags');* }/ v4 k' @' i4 _
var Defaults = xdc.useModule('xdc.runtime.Defaults');
! c" Y! ?2 q. a! a) p! r* F6 F- Y: D7 ~% Q! i' i) c+ H4 @$ q5 n
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;% m& t/ T1 I. C0 T4 X/ A4 I
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
/ J% U4 _' x) A! wDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;" T% Z5 r) B- ^& |
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */# i/ I" x$ b. ]. e4 Y4 [, w
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */( x" [! @0 A. {# ]! `3 `/ f
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ p$ K$ R3 o) U: @% `6 F0 N* {0 nDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;6 n6 `: [) }9 y6 a% i$ c Z q
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
" u$ h9 Z5 B9 _! @Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
" ^9 n6 ?7 D# e% rDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
% s& g+ g6 J7 T7 t" ODefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
% Z+ J/ q) ?% H: R) zDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;, x9 ]. a" P" b) F( W; d/ L8 C
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
) s/ l" _& J8 J4 s& U/ @8 YDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;, A f* T3 I9 }5 b- z
8 m( @2 w- m, ^" F6 _$ N- s
/* override diags mask for selected modules */
* Y6 ]( }5 u0 g8 v1 s B: dxdc.useModule('xdc.runtime.Main');/ b0 J ^- ?; N3 _' H& y$ O0 L1 {
Diags.setMaskMeta(
" }# p" y3 s2 n/ H. @ "xdc.runtime.Main",! E" x& |) m% B: ` @+ j, J
Diags.ENTRY | Diags.EXIT | Diags.INFO,
1 y0 R/ |* H5 Z! \ Diags.RUNTIME_ON
8 y5 j) B; _" M. O; P3 h$ G);
- G j6 L7 e- C+ W+ H
( ~( w$ @* x2 d* e# i" ]var Registry = xdc.useModule('xdc.runtime.Registry');
0 G) j R/ n uRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 w6 e' e0 _7 i) K8 tRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
0 m" f* i1 H+ Q* V+ f8 z& ]: tRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
; i7 r% l5 o: Q1 d1 W' O, K# U# cRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
4 y% ?; Y" s5 M, y) k- K% G9 L6 y# e' o# l! h% E" L" v
/* create a logger instance */0 Y& ^( @) H. R- b/ L% K
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
$ h d" w7 J6 L Q9 Qvar loggerBufP = new LoggerBuf.Params();
( o3 d) i; p- K$ E0 n4 E8 lloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */' L& N# i& U- r. A, }: T# m
loggerBufP.bufType = LoggerBuf.BufType_FIXED; q" w+ G: ]1 B h, d- {) _
8 {/ K7 j9 Z2 f% Qvar appLogger = LoggerBuf.create(loggerBufP);8 U X8 ]! n- t( f
appLogger.instance.name = "AppLog_Core1";' f! `$ q0 s T% C( ]
Defaults.common$.logger = appLogger;
/ d7 @+ Y4 R) M* a& {5 n4 w5 g# ]- @Memory.defaultHeapSize = 0x8192;
$ t/ S) T O' k$ d) Q' xIdle.idleFxns[0] = "&LEDStatus";) n2 X( k, k7 q. q. x
Cache.initSize.l2Size = Cache.L2Size_32K;
# R' a. v/ @5 n0 q' l5 P5 v
. ^+ J( Z# D7 {/ | |
|