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

and*_*dre 11 c embedded assembly arm stm32

我在尝试编译ARM嵌入式C程序时遇到以下错误(我使用YAGARTO作为我的交叉编译器).我想弄清楚这个错误意味着什么,以及纠正它的步骤是什么.从我迄今为止所做的研究来看,它似乎是一个问题wfi,而wfe不是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
Run Code Online (Sandbox Code Playgroud)

Tur*_*o J 13

您可能会错过STM32F10x的一些重要编译器选项 - 这是一个Cortex M3:

-mcpu=cortex-m3 -mthumb -mno-thumb-interwork -mfpu=vfp -msoft-float -mfix-cortex-m3-ldrd
Run Code Online (Sandbox Code Playgroud)

  • @ahenderson ARM设备有一些不同的指令集,[Cortex-M3实现了Thumb版本](http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337i/index的.html).默认情况下,您的工具链是针对ARM模式的,因此是错误. (3认同)