专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
DSP
【CCS小技巧】CCS查看代码运行周期
2019-07-13 11:54
发布
生成海报
站内文章
/
DSP
17471
0
1213
在单片机开发中,通常需要精确估算代码运行时间,用于对算法优化以及对项目平台选择提供参考,通常算法如果用汇编编写,可以人工计算出运行时间,用C语言编写也可以通过反汇编代码而计算到较为精确的运行时间,但当程序中出现很多函数的调用,以及程序嵌套是,使用人工计算程序运行时间则比较费时费力。在CCS中可以对程序运行时间进行测量。CCS官方给出了两种测试代码运行时间的办法,有兴趣的可以阅读一下官方文档原文
1、
Profile clock inCCS
(
此方法适用于非
Stellaris系列,因为我的
Stellaris用这种方法不行,我也就不说了,自己看看文档,很简单)
2、
Watchpointsfor Stellaris in CCS
(
此方法理论上使用TI所有单片机(包括
Stellaris),我只测试了
Stellaris
,其他系列入MSP430有兴趣的可以自己试试。我讲的也是这种方法)
步骤:
1、现将程序编译并Debug下载到开发板。然后点击Window->ShowView->Breakpoints
打开断点窗口
然后在右上角(默认设置)窗口中会多出一个断点窗口(默认有这个窗口可以跳过第一步)
2、点击断点下拉框选择CountEvent
下拉框
弹出提示框后选择ClockCycles,然后点击OK
点击OK
3、经过第二部后在读断点窗口中会多出一个CountEvent断点,在Count Event上鼠标点击右键选择BreakpointProperties对此断点进行配置。
右击断点
将Reset Count onRun改为true,点击OK保存。
修改配置
4、将要测试的代码代码加上断点,如图,假如我要测试程序从1到2需要运行对少时间,则将1所在的行设置断点同时把2设置断点,此时可以看到断点窗口多了两个断点。(注:此时CountEvent显示67941表示程序运行到main函数是已经运行了67941个时钟周期(启动代码消耗),刚加进来CountEvent是的计数值很大,那个值不准,重新Debug程序到开发板时因为之前已经添加了
CountEvent,所以计数是准的
)
添加断点
5、单击运行按钮当程序运行到第一个断点时CountEvent数值变为93210,说明从main函数运行到这一代码之前一条代码(断点处代码在程序暂停时还没有运行)用了93210个时钟周期,这个始终中期不包括之前启动代码运行消耗的67941个时钟周期,因为之前设置了ResetCount on Run为True,所以每一次点击运行按钮这个值都会清零。
运行1
在此点击运行按钮,当程序运行到2处时自动暂停运行,此时看到count event变为了229938,说明程序从1运行到2用了229938个时钟周期。
6、运行时间计算
由第5步知道从代码1到代码2用了229938个机器中期,假如我设置看法板时钟频率为40Mhz,那这段代码运行时间就是229938* (1/(40*1000000)=0.00574845,约为5.75MS
转载自
http://blog.sina.com.cn/s/blog_91e79d7f0102vjy1.html
Ta的文章
更多
>>
【CCS小技巧】CCS查看代码运行周期
0 个评论
LPC1768的USB驱动(三)----LPC1768的USB模块
0 个评论
清空bootstrap模态框数据
0 个评论
EclipseME插件配置
0 个评论
热门文章
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮