我正在尝试为各种ARM处理器交叉编译一个包含内联汇编的简单程序。它包含了根据this document是有效的ARM和Thumb-2指令的QSUB汇编指令。
当我构建针对cortex-a8时,这个程序可以成功编译。
但是当我尝试为cortex-m3构建时,我遇到了标题中的编译错误,并且无法找出原因。我尝试使用编译器选项-mthumb强制启用Thumb模式,然后错误变成了"选择的处理器不支持Thumb模式"。这让我有些困惑,因为cortex-m3实际上是支持Thumb模式的。
这是我使用Codesourcery的gcc时的编译选项:
arm-none-linux-gnueabi-gcc helloworld.c -o a.out -lm -mthumb -mcpu=cortex-m3
-mcpu=cortex-m3 -mthumb
)或许可以把它们都放在helloworld.c之前。 - Joachim Isaksson