我正在尝试为各种 ARM 处理器交叉编译一个带有内联汇编的简单程序。它包含汇编指令 QSUB,根据 this document 是有效的 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

最佳答案

QSUB 在 ARM 的 "Cortex-M3 Devices Generic User Guide" (Document DUI0552A) 中没有提到。

此外,TI 的 "Cortex-M3/M4F Instruction Set, TECHNICAL USER'S MANUAL" 表明 Cortex-M3 不支持 QSUB

我想你只需要相信海湾合作委员会告诉你的......

关于c - 错误 : Target CPU does not support ARM mode,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9589934/

10-12 05:43