IAR下如何确定某一段代码的执行时间?

2019-03-24 10:02发布

现有IAR for ARM 6.10,J-Link 4.22,LM3S9B96-C3。请问怎么能够测试一段代码的执行时间呢?无多任务无中断,就是单独执行几个函数。 用simulator查看cyclecounter,感觉数值不对啊。我是运行了一个AES加密函数,连密钥扩展到加密完成,两条cyclecounter之间的差值才有9个,这也太快了吧。   [ 本帖最后由 ultrabenz 于 2012-6-6 17:00 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
tekkon
2019-03-25 18:51
(SYSCTL_SYSDIV_1 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ)  ?  你是想直接用16MHZ晶振频率 还是想用分频?  你想让你的系统工作在多少频率?  你得明白这些问题。。。  
你可以看看用户手册里关于系统时钟设置那一章节,再看看TI给的例子是如何设置的。底下连接是一个关于8962的系统设置,看以参考参考,
http://bbs.eeworld.com.cn/viewthread.php?tid=211433

搞明白你的系统时钟了,计算代码执行时间就会非常简单。
对于24位计数器可以总共计数16,777,216个系统时钟, 如果你的系统工作在50MHZ,相当于0.33554432秒(16,777,216*(1/50MHZ))

在搞明白系统时钟和上面的计算后,你可以定义两个变量获取不同的systick,  如果执行代码后获取的systick大于执行前,就要考虑翻转问题了。这样稍微改动程序(加上24位的systick)去计算你想要的绝对值。

一周热门 更多>

相关问题

    相关文章