6410在rvds下编译启动代码报错分析
2013-12-02 09:10
357 查看
contains invalid call from '~PRES8' function to 'REQ8' function
main
RVDS编译出现contains invalid callfrom '~PRES8' function to 'REQ8' function main
解决办法:在汇编文件顶部加 preserve8 伪指令
错误提示如下:Error : armlink:
L6238: 44BINIT.o(Init) contains
invalid call from ''~PRES8'' function to ''REQ8'' function
main.
参考了网上的一些文章,原因如下:“ADS1.2升级到RVDS2.2固有的问题。问题的起因是因为使用LDRD和STRD双字传输指令。可能(猜测)RVDS2.x的C编译器使用了这些指令,因此要求你现有的汇编文件和库文件明确使用8byte对齐栈(见rvds编译器参考手册的3.1.6),所以,你应该在汇编文件中加上“PRESERVE8”来定义,而这个在zlg的文件中是没有定义的。”
我看了下c的反汇编,里面没有双字节传输指令啊
这个问题弄得我晕头转向的,弄得好几天,印象深刻啊,浪费了不少时间,这又是由于集成开发环境版本的问题,赶紧继续O(∩_∩)O~
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
相关文章推荐
- 注意:开发环境不同,启动代码不同…
- 键盘消抖--特权同学代码
- S3C6410的启动代码分析 一
- 6410在rvds下编译启动代码报错分析
- 注意:开发环境不同,启动代码不同…
- 键盘消抖--特权同学代码
- Qt中UTF-8转Unicode
- delphi 导出到excel的7种方法
- C#调用C++编译生成的dll文件
- JAVA细节使用20131202
- javabean总结
- matlab中数理统计的一些工具函数
- C++中编译生成dll(动态链接库)文件
- jdk与jre的区别
- Python查询天气预报
- php 二维码
- JDK6和JDK7中String的substring()方法及其差异
- Qt动画效果展示
- AWS Toolkit for Eclipse的安装和一个用户反馈的问题
- 2013级C++第15周项目——二维数组