错误L6218E未定义的符号_asm(从main.o引用)



我面临一个链接器错误。我在KeilµVision5,中编写了以下内联汇编代码

_asm("NOP");
_asm("NOP");

我得到了以下错误:.RAMSTM32F439_Template.axf: Error: L6218E: Undefined symbol _asm (referred from main.o).

我把头文件";stm325439xx.h";在程序中。

有人能帮我纠正这个错误吗?非常感谢。

要使此代码正常工作,您需要在定义宏_asm的位置包含标头,或者如果它内置于某个编译器中,则在项目设置中选择正确的编译器(Keil工具支持多个不同的编译器(。

然而,可移植的解决方案是不使用此代码,而是包括"stm32f4xx.h",然后使用__NOP(),这对许多编译器来说是正确的。

是的,它是__(两个连续的下划线而不是一个(

最新更新