[开发工具] 使用Register Windows测量函数的执行时间

[复制链接]
 楼主| drer 发表于 2021-9-4 16:51 | 显示全部楼层 |阅读模式
一、前言
在工作上,经常需要量化代码的执行时间。通过Keil软件的Register Windows就能测量出来。

二、Keil配置
可以选择ST-LINK,也可以选择J-LINK。
975586133339590521.png
在Trace里面,填上MUC的工作频率(STM32F407的主频是168M),还有勾选“Trace Enable"。

229626133339c2b251.png

 楼主| drer 发表于 2021-9-4 16:53 | 显示全部楼层
三、进入调试状态
3.1、打开Register Window

注意:找到Register Window之前,记得先让Keil进入DEBUG模式。
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


 楼主| drer 发表于 2021-9-4 17:05 | 显示全部楼层
3.2、打断点
在需要测量的函数与下面的代码都添加断点。这一次我想测量一下中断回调函数里,定时器13执行函数spindle_Motor.speed_Cntr_Interrupt(&spindle_Motor,&Nanotec_M2)所需的时间。
57741613336de11f7a.png
测量的函数的运行时间大约 = T2 - T1 = 12.30296202 - 12.30295986 = 0.00000216,约等于2.16us时间。


watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg

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

本版积分规则

62

主题

3317

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部