首页 > 解决方案 > 错误 L6218E 未定义符号 _asm(来自 main.o)

问题描述

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

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

我收到以下错误: .\RAM\STM32F439_Template.axf: Error: L6218E: Undefined symbol _asm (referred from main.o).

我在程序中包含了头文件“stm325439xx.h”。

谁能帮我解决这个错误?谢谢你。

标签: linkerkeilstm32f4

解决方案


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

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


推荐阅读