MDK的优化应用
2016-01-19 11:07
155 查看
MDK的优化应用 http://blog.163.com/zhaojun_xf/blog/static/300505802011291384721/
使用Keil/MDK这么多年了,一直都没有使用它的代码优化功能。总是觉得在容量可以容纳的情况下没有必要。最近在做一个摄像头项目时,总是只能在TFT上显示大约2/3的图像。其余1/3没有显示。当按键时,整个TFT都能显示,那么按照分析,应该是因为代码是速度太慢造成的。但是分析了一下代码实在没有可以更改的地方了。那么是单片机运行速度问题吗?
本代码本来是用IAR编写的,而且在单片机上实现了,效果非常不错。所以完全能够排除上面的问题。那么只能说明是编译平台在生成代码的过程中,造成了速度问题。
既然如此,那就优化一下代码吧,通过更改MDK的优化选项,编译下载后,问题搞定。看了优化功能还是不错的。
为了保证你的代码在优化后能正确运行,一定要注意在不能被优化的变量前加上:volatile。
使用Keil/MDK这么多年了,一直都没有使用它的代码优化功能。总是觉得在容量可以容纳的情况下没有必要。最近在做一个摄像头项目时,总是只能在TFT上显示大约2/3的图像。其余1/3没有显示。当按键时,整个TFT都能显示,那么按照分析,应该是因为代码是速度太慢造成的。但是分析了一下代码实在没有可以更改的地方了。那么是单片机运行速度问题吗?
本代码本来是用IAR编写的,而且在单片机上实现了,效果非常不错。所以完全能够排除上面的问题。那么只能说明是编译平台在生成代码的过程中,造成了速度问题。
既然如此,那就优化一下代码吧,通过更改MDK的优化选项,编译下载后,问题搞定。看了优化功能还是不错的。
为了保证你的代码在优化后能正确运行,一定要注意在不能被优化的变量前加上:volatile。
相关文章推荐
- HBase数据的导入和导出
- 树形结构的处理——组合模式(四):透明组合模式与安全组合模式
- 栈
- Linux下Tomcat重新启动
- 通过推送消息控制Android系统锁屏、唤醒
- 像 Sublime Text 一样使用 Chrome DevTools
- Spring MVC之@RequestMapping 详解
- Volley 源码详解
- .net , java webSocket 连接 Socket.io (1.4.4版本) 问题
- 浅谈hbase表中数据导出导入(也就是备份)
- 了解微软开源核心机器学习技术DMTK
- Linux下网络流量实时监控工具 大全
- nginx支持path_info
- 项目管理:svnserver
- 网络编程归纳总结九阶段
- 统计局:2015中国GDP同比增6.9%
- Cocos2D创建多彩文本显示标签
- Cocos2D创建多彩文本显示标签
- 变量初窥
- Cocos2D创建多彩文本显示标签