[ZLG-ARM] 测量函数大致执行时间

[复制链接]
2500|3
 楼主| gotomy 发表于 2008-7-7 14:08 | 显示全部楼层 |阅读模式
用LPC2220中的计数器测量函数中的大致执行时间,如下:<br /><br />//清除计数器<br />T1TC&nbsp;=&nbsp;0;<br />T1MR1&nbsp;=&nbsp;0xFFFFFFFF;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />//启动定时器<br />T1TCR&nbsp;=&nbsp;0x01;<br /><br />//被测函数<br />Func();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />//停止定时器&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />T1TCR&nbsp;=&nbsp;0x00;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />//读取计数器值<br />i&nbsp;=&nbsp;T1TC;<br /><br />根据计数器值和Fpclk的频率计算出被测函数执行的大致时间。<br /><br />这样的方法对于非精确的测量函数执行时间是否可行?
XDream 发表于 2008-7-7 22:13 | 显示全部楼层

这种测量是不准的,特别是对于比较小的程序。

而且ARM是三级流水线,不知道函数内部是否存在跳转。<br />楼主为什么要做这样的测量呢?
foyyof 发表于 2008-7-8 14:57 | 显示全部楼层

比较可行的。

  
lgl_debug 发表于 2008-7-12 10:49 | 显示全部楼层

XDream,你又有什么更好的方法呢?

每次调用一个函数,怎么会不准。你不会说你用for&nbsp;循环吧!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

43

主题

93

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部