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公司提供的,更可靠。