stm编译时不产生syso
‘壹’ STM32原子的程序编译时出现问题求解答
首先下载ST-LINK的驱动:,这是网络云下载地址。解压后执行dpinst_x86.exe,若不能用卸载后再执行dpinst_amd64.exe。完成后如图所示。把ST-Link通过usb连接到电脑,然后打开设备管理器,可以看到会多出一个设备将图中的ST-LINK连接到开发板后,再通过usb接口和电脑相连接,之后通过电源线给开发板供电。打开已经编写好的程序,编译一遍确保程序可用。(默认前提:MDK已经下载安装,且添加了stm32的的支持包)根据图中步骤,配置MDK,注意不要错选漏选。点击“SETTING”后出现图中所示,按照途中信息配置(也可根据自己的需求配置)点击“flashdownload”,勾选以框中3项,根据自己使用的stm32芯片配置第二个框中的芯片,确定回到上一界面。(默认前提:MDK已经下载安装,且添加了stm32的的支持包)选择“Utilities”,勾选图中选项,完成后点击确定。配置完成后,确保开发板开启且正常使用,点击“load”下载程序至开发板。完成后会有相应提示。
‘贰’ STM32 编译出错TEST.axf: Error: L6218E: Undefined symbol WFI_SET (referred from sys.o).
WFI指令在core_cmInstr.h中定义如下:
__attribute__((always_inline))static__INLINEvoid__WFI(void)
{
__ASMvolatile("wfi");
}
按道理,如果你要使用wfi指令的话,只要在那个源文件里包含core_cmInstr.h就没问题了。
不过看你的错误提示,应该是你自己定义了一个WFI_SET函数,但却没有在sys.c中声明这个函数。
建议你如果要用这类指令还是包含一下core_cmInstr.h头文件吧,不要自己去定义。这个头文件是CMSIS的一部分。毕竟是ARM公司提供的,更可靠。