OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4611|回复: 7

用keil查看自己代码效率的时候是不是只能看汇编?

[复制链接]

58

主题

96

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2015-7-27
在线时间
21 小时
发表于 2016-7-5 10:26:38 | 显示全部楼层 |阅读模式
1金钱
大家好,我想请问一下,用keil查看自己代码效率的时候,是不是只能进入debug模式,看汇编的指令有多少条?这样比较方便?

最佳答案

查看完整内容[请看2#楼]

可以在测试代码前后放断点,然后比较Registers窗口的States,这个就是当前处理器执行的周期数。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

49

主题

341

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5265
金钱
5265
注册时间
2012-8-25
在线时间
1025 小时
发表于 2016-7-5 15:02:24 | 显示全部楼层
本帖最后由 gotofly21 于 2016-7-5 15:04 编辑

loop=0x80;
do
{
sda=((send&loop)!=0);
loop>>=1;
}while(loop);
我用过这种方法比较快
回复

使用道具 举报

3

主题

238

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1366
金钱
1366
注册时间
2016-5-26
在线时间
1698 小时
发表于 2016-7-5 10:26:39 | 显示全部楼层
可以在测试代码前后放断点,然后比较Registers窗口的States,这个就是当前处理器执行的周期数。
States.png
淘汰人的从来是工具而不是年龄
嵌入式的冷知识屋 blog.csdn.net/k_o_carnivist
回复

使用道具 举报

58

主题

96

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2015-7-27
在线时间
21 小时
 楼主| 发表于 2016-7-5 10:39:55 | 显示全部楼层
eff.png
具体代码是这样的
回复

使用道具 举报

58

主题

96

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2015-7-27
在线时间
21 小时
 楼主| 发表于 2016-7-5 10:40:16 | 显示全部楼层
我想知道两种方式哪种效率高,第一个还要计算,第二个给了确定的值
回复

使用道具 举报

9

主题

538

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3371
金钱
3371
注册时间
2015-1-7
在线时间
794 小时
发表于 2016-7-5 11:37:04 | 显示全部楼层
一个通用直观的方法:让测试的代码段运行1000次,这1000次前后用IO置高低电平,用示波器测量两次IO操作的时间,除以1000就得到测试代码耗时,然后再比较那个好
机器生汇编,汇编生B,B生C,C生万物.... 经过长期对C语言的研究,目前只有两个方面不懂:这也不懂,那也不懂
https://github.com/ianhom
回复

使用道具 举报

13

主题

186

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2016-6-30
在线时间
97 小时
发表于 2016-7-5 14:17:29 | 显示全部楼层
ianhom 发表于 2016-7-5 11:37
一个通用直观的方法:让测试的代码段运行1000次,这1000次前后用IO置高低电平,用示波器测量两次IO操作的时 ...

我也是这样 io高低放在算法前后看脉冲宽度
回复

使用道具 举报

9

主题

538

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3371
金钱
3371
注册时间
2015-1-7
在线时间
794 小时
发表于 2016-7-5 14:53:18 | 显示全部楼层
看了两种方法的汇编部分,第二种方法对ROM消耗会大很多,而且考虑到loop为6、7这样靠后的分支,switch还是要判断多次才会去执行哪个分支,效率上不一定讨巧。第一种方法的移位运算有硬件移位支持应该会很快。
机器生汇编,汇编生B,B生C,C生万物.... 经过长期对C语言的研究,目前只有两个方面不懂:这也不懂,那也不懂
https://github.com/ianhom
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-11 08:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表