代码时间分析
来源:互联网 发布:决战武林进阶数据灵宠 编辑:程序博客网 时间:2024/06/06 04:00
代码时间分析(Code Timing Analysis)是为了保证代码在规定的时间内都能执行完,常用的分析方法有软件仿真和波形测试,软件仿真指的就是加断点调试,在这里不做介绍,以下主要对波形测试进行说明。
波形测试通常将待测代码的前后增加GPIO口输出电平的翻转操作,通过示波器的GPIO口波形能够得到代码的执行时间,从而实现对代码的时间分析,测试代码如下:
// 1ms taskvoid TASK_1ms(...){ GPIO_toggle(...); // GPIO toggle operation Func_1(...); GPIO_toggle(...); // GPIO toggle operation Func_2(...); GPIO_toggle(...); // GPIO toggle operation Func_3(...); GPIO_toggle(...); // GPIO toggle operation}
上述代码在三个函数前后都加上了GPIO输出电平的翻转操作,通过示波器波形就可以得到每个函数的执行时间,示波器波形如下图所示。
如上图所示,如果初始化时,GPIO输出为高电平,那么图中的X轴光标时间就是Func_1( )的执行时间,其他函数的执行时间以此类推。
Tips:
首先,寻找第一次的翻转比较重要,如果在任务中添加的GPIO翻转次数是偶数的话,那么第一次的翻转很好找到;其次,无需关闭其他中断,因为目的就是要得到程序的真实执行时间;最后,如果任务中存在状态机的话,需要找到执行时间最长的那一次作为程序执行的最大时间。
阅读全文
0 0
- 代码时间分析
- 汇编语言显示系统时间代码分析(14)
- 时间序列分析步骤及sas代码
- google-gperftools分析代码时间分布
- VC实例分析:VC++通过汇编获取代码运行时间
- 各种排序算法总结(代码与时间分析)
- 基于mykernel实现的时间片轮转调度代码分析
- 简单的时间片轮转多道程序内核代码分析
- StopWatch 监控Java代码运行时间和分析性能
- DSS 代码分析【Reliable UDP之超时时间计算】
- StopWatch 监控Java代码运行时间和分析性能
- 时间代码
- 时间代码
- 时间代码
- 时间代码
- Linux内核分析2:一个简单的时间片轮转多道程序内核代码分析
- 基于Visual C++之Windows核心编程代码分析(5)操作注册表与系统时间
- 基于Visual C++之Windows核心编程代码分析(5)操作注册表与系统时间
- 什么是wifi霸屏神器?用WiFi霸屏广告机打广告是什么体验?
- Vue 分享2
- 【PHP输出两位小数】使用PHP来输出保留两位小数的数字【原创】
- shell下彩色进度条的编写
- opencv矩阵计算的一些函数
- 代码时间分析
- HackerRank-Left Rotation
- kvm虚拟机转换VMware可以使用vmkd格式
- Map接口
- java 常用写文件方式性能PK
- 封装自己的printf
- Two Sum
- @ModelAttribute注解Controller方法的入参
- 在类的成员函数使用带谓词的sort()函数