此錯誤產生的位置在STM32工程所包含的匯編啟動代碼文件,如下圖
熟悉ARM匯編的朋友一定可以看出,這是一個子程序調用語句,而調用的子程序正是SystemInit。出現錯誤的原因就是匯編器沒有在代碼之中尋找到SystemInit子程序。所以可以有兩種解決方法。
1、在工程C文件內定義SystemInit函數,如下圖
這里定義了一個空函數,雖然沒有完成任何功能,但是這樣做之后輸出的匯編代碼中就可以尋找到SystemInit子程序。
2、在匯編代碼之中注釋掉上上圖之中用紅色方框圈出的子程序調用代碼。