EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在DSP671x上使用Timer统计信号处理算法的时间消耗0 ~0 l0 }/ z: H \
代码实例( i7 a- i% k' m- y0 H: o- l- U
+ l2 _* _( t" X/ w8 S5 I' h/ }; P8 b
hTimer = TIMER_open(TIMER_DEVANY,0); /* open a timer */% g& z" p% d0 k; ]& L+ b* ^
$ D2 n; t+ v T9 _, S4 W9 X9 m6 ?/* Configure the timer. 1 count corresponds to 4 CPU cycles in C67 */
8 Z% a$ i' k* E7 b N/* control period initial value */
! C: |' T' B# a0 H H5 HTIMER_configArgs(hTimer, 0x000002C0, 0xFFFFFFFF, 0x00000000);
" \9 N; k& u$ W1 t7 c3 W$ ^( E. L7 Q% p3 V
/* Compute the overhead of calling the timer. */
, \7 R1 Z @( ?5 nstart = TIMER_getCount(hTimer); /* to remove L1P miss overhead */# T) `: q' \' L6 T
start = TIMER_getCount(hTimer); /* get count */- k+ a- ^& g% {3 ]# `
stop = TIMER_getCount(hTimer); /* get count */
' J4 n; T1 w3 T" z% P; e# U7 c3 G& L! H2 D1 P
overhead = stop - start;7 ]% i* j5 ]; n# C7 [, j
start = TIMER_getCount(hTimer); /* get count */
9 C: m" w/ O( Z$ z7 t
D) Q6 k& }( z% G: U/ b8 W/* Call a function here. */: F# K% v, P. L3 B5 P3 e, Q
3 a- g9 Q" a- d+ k/* get count */
8 _) a" F. L' ?; hdiff = (TIMER_getCount(hTimer) – start) ? overhead; 4 U! v/ k0 I3 Z$ B( K
TIMER_close(hTimer);/ G) c3 g9 D. C9 E; j* ~
printf(”%d cycles \n”, diff*4);% \; v! G* A; H; L: J* n
4 N O; y* ]/ \( x/ Y6 ]3 O1 g; T) H& F
, z) |$ D! Q( \" L# N注意,C6713上定时器的一个计数值对应4个时钟周期。 overhead表示Timer本身配置过程的时钟消耗,所以有diff计算, diff = (TIMER_getCount(hTimer) – start) ? overhead;
/ w1 x9 ^* W0 q3 Q
, g1 N/ w" C2 ] i, V |