Board logo

标题: arm-eabi-gcc 4.7升级后的问题 [打印本页]

作者: look_w    时间: 2017-10-24 21:10     标题: arm-eabi-gcc 4.7升级后的问题

本帖最后由 look_w 于 2017-10-24 21:14 编辑

某一段arm assembly code,之前用 arm-eabi-gcc 4.6版本编译。执行没问题。
但是换成GCC 4.7后有两个问题。
问题一: 生成的BOOTLOADER无法执行;
问题二: 能执行后,某段指令产生ABORT错误。

问题一:
研究GCC 4.7 compiler 升级文 发现, GCC 4.7缺省编译时, 设置为-munaligned-access






后来在makefile中强制指定-mno-unaligned-access, 问题一解决。






问题二:原因: arm mode call 的指令编译正常。下载到Trace32里面, memory view显示正常。
但是执行到特定指令时,该arm instruction被解释成为 两条 thumb 指令, 从而导致 abort 错误。
后来发现是从thumb mode 调用 arm call 时,不能正确找到对应的 function symbol. 需要显式声明.

GCC 4.7 升级文档中,可能对应如下说明









欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0