错误:所选处理器不支持 ARM 模式 `wfi'

Posted

技术标签:

【中文标题】错误:所选处理器不支持 ARM 模式 `wfi\'【英文标题】:Error: selected processor does not support ARM mode `wfi'错误:所选处理器不支持 ARM 模式 `wfi' 【发布时间】:2012-11-21 02:27:09 【问题描述】:

在尝试编译 ARM 嵌入式 C 程序时出现以下错误(我使用 YAGATO 作为我的交叉编译器)。我正在尝试弄清楚这个错误的含义以及纠正它的步骤。从我目前所做的研究来看,问题似乎是wfiwfe 不是ASM 指令。我该如何解决这个问题?

\cc9e5oJe.s: Assembler messages:
\cc9e5oJe.s:404: Error: selected processor does not support ARM mode `wfi'
\cc9e5oJe.s:414: Error: selected processor does not support ARM mode `wfe'
\cc9e5oJe.s:477: Error: selected processor does not support ARM mode `wfi'
make: *** [STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.o] Error 1

【问题讨论】:

您使用哪些编译器选项? @TurboJ 我正在使用 GCC 的默认 Eclispe 编译器选项(所以 -Wall -c -fmessage-length=0 -O0)。我应该设置哪些选项? 【参考方案1】:

您可能会错过一些适用于 STM32F10x(Cortex M3)的重要编译器选项:

-mcpu=cortex-m3 -mthumb -mno-thumb-interwork -mfpu=vfp -msoft-float -mfix-cortex-m3-ldrd

【讨论】:

谢谢我不再收​​到错误。这似乎奏效了。我得研究一下它们的含义。 @ahenderson ARM 设备有几个不同的指令集和Cortex-M3 implements a version of Thumb。默认情况下,您的工具链针对的是 ARM 模式,因此出现了错误。

以上是关于错误:所选处理器不支持 ARM 模式 `wfi'的主要内容,如果未能解决你的问题,请参考以下文章

如果节点这样做,为啥 verdaccio 不支持 arm 处理器

模态 JS 错误 - 对象不支持属性或方法“模态”

arm9的操作模式,寄存器,寻址方式

Android 逆向ARM CPU 架构体系 ( ARM 处理器工作模式 | ARM 架构模型 )

Android 逆向ARM CPU 架构体系 ( ARM 处理器工作模式 | ARM 架构模型 )

ARM处理器基本指令大全