打印

怎样知道一段代码它执行一遍需要多少时间?

[复制链接]
2920|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xinyancode|  楼主 | 2009-9-7 14:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位学长:

我用的是TI的DSP系列的器件,在CCS里写应用代码,现在有个问题关于CCS使用的问题:


例如:我设置了有个定时器,每1ms (毫秒)就产生一次中断,有个函数就在这个中断里面执行,这个函数挺大,执行一遍需要一些时间。问题是我不知到它到底需要多长时间?多少个时钟周期?

我想知道在CCS里面用什么方法可以知道,或是评价一个一段函数它的执行所需要的时间呢?


请各位赐教,不胜感激!

相关帖子

沙发
xinyancode|  楼主 | 2009-9-7 14:29 | 只看该作者
追加一句:

换句话说,我怎么才能知道我的这个中断函数是否在1ms的时间间隔内运行完毕?我就想
知道这点,否则程序会不可控制吧。

使用特权

评论回复
板凳
angelguard| | 2009-9-7 14:37 | 只看该作者
在中断程序开始的时候用一个I/O口置一,在程序中断程序结束的时候用那个I/O口置零,然后用示波器观察那个I/O口的跳变时间

使用特权

评论回复
地板
xinyancode|  楼主 | 2009-9-7 14:44 | 只看该作者
谢谢3楼的朋友帮忙,这倒是一个好的方法,用硬件的策略来检测。

不过呢,我还是想, 在CCS开发环境里面应该有个工具可以做这个工作,我的印象里好象是
profile 什么的,记不清了,不确定,还是请高人给继续指点一下吧,

再次感谢!

使用特权

评论回复
5
szfanlong| | 2009-9-8 22:09 | 只看该作者
可以通过CYCLES寄存器来计算得到,在进入中断时CYCLES数值与出中断时的CYCLES数值的差值即是你要的时钟周期数,根据你所运行的主频来算出运行时间来。

使用特权

评论回复
6
zhongvv| | 2009-9-10 21:56 | 只看该作者
1.profile 功能可以测量函数执行的时间。
2.可以使用硬件定时器,在中断前或是进行中断时进行计数,完成中断后查看计数值。

使用特权

评论回复
7
xinyancode|  楼主 | 2009-9-11 14:36 | 只看该作者
非常感谢,非常感谢,

另外,TI-DSP里面还有个CYCLES寄存器吗,怎么没注意到呀,等我再仔细看看PDF。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

85

主题

147

帖子

0

粉丝