学习
实践
活动
工具
TVP
写文章

CCSv7使用指南连载9:利用Clock功能测量程序执行时间

版权声明:本系列文章欢迎转载,请注明出处,谢谢!

在MCU的开发中,开发者常常需要知道一段代码的精确运行时间。MCU编程中通常采用C语言,且存在很多中断、嵌套,很难通过计算获得准确的运行时间。在以往的工程实践中,工程师一般在程序前后翻转GPIO口输出,并通过示波器测量程序执行时间。该方法比较繁琐,且需要借助额外的设备。针对这一需求,CCSv7的debug中新增了clock功能,使程序运行时间的测量变得方便快捷。

下面以F28027中自带的Example_2802xLEDBlink例程为例,简要介绍该功能:

开启时钟功能

首先将程序编译并进行debug。

点击Run->Clock,勾选Show及Enable选项,界面右下角出现一个黄色时钟图标,即我们需要的clock功能。

设定中断点并测量运行时间

进入Debug界面,在双击程序语句前的空白处,在第154行的定时器中断程序入口处设一个breakpoint。

运行程序后,程序自动在断点处暂停,时钟后出现示数,即程序运行到断点处经过的时钟周期数。

双击时钟,可将示数清零。

再次运行程序。程序运行到断点处再次停止,clock示数30,000,000。程序设置的CPU频率为60MHz,计算的得到LED的闪烁周期为500ms,与预期设计相同。

再次双击时钟将示数清零,并在中断程序的末尾加入一个中断点。

再次运行程序,程序停在中断程序末尾,时钟示数即为从上一断点到该断点所需要的时钟周期数。计算的到中断程序的运行时间为:

通过这种方式很容易知道一段程序实际运行的时钟周期是多少.

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180123G0C37700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券