x86、STM32(Keil MDK)环境测量一条(段)语句的执行时间小结
来源:互联网 发布:淘宝抢购 加入购物车 编辑:程序博客网 时间:2024/06/03 21:52
1. 设置Trace时的工作频率(就是当前的系统时钟,如stm32f103,f107为72MHz,f407为168M,f429为180M):
2. 进入调试状态,在一条语句前设置断点执行到此,再执行到另外的语句处,下面的Sec就是执行时间
3. 还有一种变通办法,更加精确。因为使用的平台是嵌入式,都支持GPIO,如点灯LED的管脚,在被测量的一条语句前将一个管脚的GPIO拉低,测量完毕后,将该GPIO拉高,用示波器测量该GPIO的电平转换时间。
我在工作上,就是经常用这种方法,查看一段语句的执行时间,非常有用。
4. 如果在x86+windows平台上,直接用“查看CPU的工作频率”方法来获取,下面是一段示例程序:
#include <windows.h>#include <stdio.h>void main(){LARGE_INTEGER freq;LARGE_INTEGER c1, c2, c;//查询该机器本身的工作频率,并检查是否支持BOOL b = QueryPerformanceFrequency(&freq);if(b)printf("频率 = %I64d\n", freq.QuadPart);elseprintf("QueryPerformanceFrequency 失败\n");//查询该机器本身的工作频率,并检查是否支持b = QueryPerformanceCounter(&c1);if(!b)printf("QueryPerformanceCounter 失败\n");//下面检验Sleep(1)的精度int i;for (i=0; i<10; i++){QueryPerformanceCounter(&c1);c.QuadPart = c1.QuadPart - c2.QuadPart;printf("%I64d, %.5fs\n", c.QuadPart,//计数器差c.QuadPart/(double)freq.QuadPart//周期值,单位:秒);c2 = c1;Sleep(1);}getchar();}
0 0
- x86、STM32(Keil MDK)环境测量一条(段)语句的执行时间小结
- STM32开发环境(工具)之Keil MDK 介绍
- STM32开发环境(工具)之Keil MDK 介绍
- STM32开发环境(工具)之Keil MDK 介绍
- STM32开发环境(工具)之Keil MDK 介绍
- STM32:Keil MDK(uVision v4.10)开发环境搭建
- STM32(Keil MDK)减少axf文件的体积
- 【keil配置,备查】STM32开发环境(工具)之Keil MDK 介绍
- 【STM32F103攻城笔记】STM32之MDK(Keil)环境搭建(一)
- 【STM32F103攻城笔记】STM32之MDK(Keil)环境搭建(二)
- STM32F4 Discover开发环境搭建(Keil MDK/STM32 Ac6 System Workbench)
- STM32、MDK(Keil)、Windows开发环境搭建
- STM32工程模板简单套用教程(Keil MDK)
- 在Keil MDK环境下使用STM32 V3.4库“小”教程 简介和第一步(转)
- STM32:如何用JLINK ULINK JTAG 查看 KEIL /MDK 某条指令执行时间
- STM32:如何用JLINK ULINK JTAG 查看 KEIL /MDK 某条指令执行时间
- STM32在KEIL MDK环境下建立新工程
- (2)stm32开发之使用Keil MDK以及标准外设库创建STM32工程
- UVA - 230 Borrowers string+vector
- 安装MYSQL
- 两个子字符串中所共同拥有的长度最大的子序列是多长
- Tomcat启动失败
- JavaScript实现数组中去重
- x86、STM32(Keil MDK)环境测量一条(段)语句的执行时间小结
- php访问数据库分页显示
- OC中的字符串
- Java switch 语句使用 String 参数
- 概率论与数理统计(1)
- 约瑟夫环之二
- 小试牛刀爬北邮人论坛十大
- 回朔法与动态规划编程题思考
- 把安卓手机当作短信猫的三款ANDROID应用