关于ADS的优化与全局变量
来源:互联网 发布:网络红歌2015流行歌曲下载 编辑:程序博客网 时间:2024/05/16 07:25
这两个星期在LPC2214上调一些代码,前几天调试感觉代码稳定性特别差,同样的代码不做任何改动从新编译一次就有可能造成程序不能执行。后来逐渐发现了原因,在ADS中设置全局变量很可能造成代码不稳定甚至不能运行。而且编译器的优化可能会造成很多毛病,同样的代码 我用-O2编译能够正常运行,但是用-O0编译就不能正常执行。后来把容易造成错误的全局变量全部用VOLATILE声明,但是结果仍然不理想,最后是在忍无可忍,选择了IAR来编译。感觉IAR还是相当好用的,我用的4.40A,一个不好的地方是和HJTAG之间配合的不太好。决定过两天买一个仿真器。今天代码在RAM中已经调通但是下载到FLASH中程序一中断就跑飞,出现取指令异常。后来发现是中断向量表的重映射没设置对(memmap寄存器),导致中断向量表存在片上RAM中,中断程序跳转的时候程序就飞了。2214的UART不知道是不是有BUG,将从串口发给2214的数据再重新传回来,经常发送的00就会被忽略掉,而且如果发送的数中有13的话,就根本没有反馈了,不知道是串口调试软件的问题还是2214的问题。可能是外国人觉得13不吉利给我没收了。这几天调代码问过几次ZLG的技术支持,总体感觉水平很差。而且一直性我推荐什么垃圾ECOS增值包,在他们口中ECOS增值包就是个万金油,什么问题都有相应解决方案。还有一点感觉是LPC2214的BUG太多,下载勘误表一大堆BUG,简直让人不敢放心。
使用关键词__volatile限定的一个对象,可以告诉编译器该对象可能在程序之外被修改,这样编译器在编译时将不优化对该操作对象的操作。对于系统中的IO寄存器,通常使用volatile类型的结构来访问。
——《ARM体系结构与编程》
- 关于ADS的优化与全局变量
- ADS中防止全局变量被优化
- 关于ads的license安装问题
- 关于全局变量的处理
- 关于<Script>的全局变量
- 关于全局变量的使用
- 关于MySQL的全局变量与会话变量的一些思考
- 关于全局变量与头文件
- 关于DSP中全局变量与局部变量的使用
- 关于DSP中全局变量与局部变量的使用
- 关于DSP中全局变量与局部变量的使用
- 关于DSP中全局变量与局部变量的使用
- 关于DSP中全局变量与局部变量的使用
- 关于DSP中全局变量与局部变量的使用
- 关于多线程编程中与全局变量通信的问题
- 关于DSP中全局变量与局部变量的使用
- 关于DSP中全局变量与局部变量的使用
- 关于DSP中全局变量与局部变量的使用
- ubuntu下编译busybox失败的一种解决方法
- javascript中setTimeout和setInterval函数
- 代理模式
- jspSmartUpload
- 新生活新挑战
- 关于ADS的优化与全局变量
- ER图实例解析
- 共享软件走向海外之路
- Harvard自习室的警句
- 有感于杀人游戏
- [转帖]小公司之美
- 我放弃天堂,去陕北放羊.
- ER图
- typedef用法小结