完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
对于执行时间的统计分为:硬件测量和软件测量。硬件测量一般就是用示波器等工具进行测试,针对的是较长时间的测量;软件测量则能够对较短的事件进行统计,一般是利用CPU内部的周期进行测量。一般而言,我们对代码执行时间的统计采用软件测量的方式。 在ccs中我们有许多方式进行代码执行时间的测量。以下介绍两种方式进行代码执行时间的测量。第一种是通过设置断点的方式进行测量。使程序进入debug模式,在要测量的代码段的起始位置和终点位置分别设置断点。通过run-clock-enable,打开测量时钟,这是ccs状态就会出现一个时钟的标记,双击清零,执行代码,就能够得到代码执行的事件。这里的数字表示的是代码执行所用的时钟周期 。第二种方法就是通过寄存器的使用来测量代码执行时间,并将代码执行的时间打印出来。这里可以用的register有三组,分别是在core register中的TSCL,TSCH,这一组计数器是只读计数器,一旦启动便会开始计时,而且他与内部CPU同频。第二组和第三组分别是PL0的EMUCNT0,EMUCNT1,PL1的EMUCNT0,EMUCNT1. 不过我们最常用的还是第一组寄存器。下面用第一组寄存器进行代码执行时间的测量: 添加头文件:#include 测量代码: Unsigned int beforel,beforeh; Unsigned int afterl,afterh; //unsigned Long long before; //unsigned Long long after; TSCL=0; TSCH=0; Beforel=TSCL; //beforeh=TSCH; //before=_itoll(beforeh,beforel); $$$$$$$$$$ $测量代码$ $$$$$$$$$$ Afterl=TSCL; //Afterh=TSCH; After=_itoll(afterh,afterl); Printf(“time is %dn”,afterl-beforel); //printf(“time is %dn”,after-before); 如果是代码执行时间较长,则应该执行注释部分的代码,防止溢出造成测量时间不准。 如果你想测量时间更加准确,还可以将赋值语句执行所需时间减去。 代码的调试,CCS的debug模式下有单步执行的相应按键,熟悉即可,其他的就是在console栏中打印相关的信息。 |
|
相关推荐
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
使用DSP28377D外扩RAM写入一个地址数据相邻地址数据也会改变
206 浏览 1 评论
嵌入式操作教程_数字信号处理_音频编解码:3-6 AAC音频解码实验
449 浏览 0 评论
数字信号处理实验操作教程:3-3 mp3音频编码实验(AD7606采集)
1340 浏览 0 评论
嵌入式DSP教学实验箱操作教程:2-20 数模转换实验(模拟SPI总线输出电压值)
1430 浏览 0 评论
目前在2837x系列用的最多的、性能最好、性价比最高的是哪一款?
1187 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-27 00:42 , Processed in 0.526281 second(s), Total 64, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号