我正在使用STM32F207VC控制器。我使用uvision4 IDE,當我嘗試編譯一個簡單的代碼時,我得到錯誤tst1.axf:錯誤:L6218E:未定義的符號SystemInit(從startup_stm32f2xx.o引用)。 。我已將stm32f2x文件放置到我的項目目錄中。使用Keil STM32編譯時未定義的符號SystemInit(引用自startup_stm32f2xx.o)
但仍然是同樣的問題。
請幫忙解決這個問題。
感謝
我正在使用STM32F207VC控制器。我使用uvision4 IDE,當我嘗試編譯一個簡單的代碼時,我得到錯誤tst1.axf:錯誤:L6218E:未定義的符號SystemInit(從startup_stm32f2xx.o引用)。 。我已將stm32f2x文件放置到我的項目目錄中。使用Keil STM32編譯時未定義的符號SystemInit(引用自startup_stm32f2xx.o)
但仍然是同樣的問題。
請幫忙解決這個問題。
感謝
那麼,你應該定義(或把它從某處)功能SystemInit,因爲它是從文件的Startup.s叫。
或者您可以在啓動文件中註釋行,其中SystemInit函數被調用。會有這樣的:
1 IMPORT SystemInit
2 IMPORT __main
3 LDR R0, =SystemInit
4 BLX R0
5 LDR R0, =__main
6 BX R0
你可以評論行1,3,4;符號。
實際上,SystemInit函數通常是STM外設庫的一部分,它的目標是初始化所有你需要的外設。沒有它,你必須自己進行初始化。
「Libraries \ CMSIS \ CM3 \ DeviceSupport \ ST \ STM32F10x \ system_stm32f10x.c」 需要添加,因爲其中定義了SystemInit()
。
可能爲時已晚,但: 您應該檢查的Keil uVision的安裝文件夾,並有與SystemInit功能的文件在船上所有的(我希望)廠商:)
〜\的Keil \ ARM \啓動\ ST \ STM32F2xx \ system_stm32f2xx.c
很好的解決方案:) – stackprogramer