完善资料让更多小伙伴认识你,还能领取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栏中打印相关的信息。 |
|
相关推荐
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
基于 DSP5509 进行数字图像处理中 Sobel 算子边缘检测的硬件连接电路图
3262 浏览 0 评论
796 浏览 0 评论
普中科技F28335开发板中,如何使用aic23播放由代码生成的正弦波
3695 浏览 0 评论
4454 浏览 1 评论
1376 浏览 1 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 19:55 , Processed in 1.365674 second(s), Total 60, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号