我正在尝试为各种 ARM 处理器交叉编译一个带有内联汇编的简单程序。它包含汇编指令 QSUB,根据本文档,它既是有效的 ARM 指令,又是 Thumb-2 指令。
在为 cortex-a8 构建时,这对我来说编译得很好。
当我尝试为 cortex-m3 构建时,标题中出现编译错误,但不知道为什么。我尝试使用编译器开关 -mthumb 强制使用拇指模式,然后错误变为“所选处理器不支持拇指模式”。我有点困惑,因为 cortex-m3 实际上支持拇指模式。
这是我与 codesourcery 的 gcc 一起使用的编译选项:
arm-none-linux-gnueabi-gcc helloworld.c -o a.out -lm -mthumb -mcpu=cortex-m3