我正在使用 STM32F207VC 控制器。我正在使用 uvision4 IDE,当我尝试编译一个简单的代码时,我收到错误 tst1.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f2xx.o)。. 我已将 stm32f2x 文件放置到我的项目目录中。
但仍然是同样的问题。
请帮助解决这个问题。
谢谢
需要添加“Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c”,如SystemInit()
其中定义的那样。
好吧,您应该定义(或从某个地方获取)函数 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 Peripheral 库的一部分,它旨在初始化您需要的所有外围设备。没有它,您将不得不自己进行初始化。
可能为时已晚,但是:您应该检查 Keil uVision 安装文件夹,并且所有(我希望)供应商都有带有 SystemInit 功能的文件:)
~\Keil\ARM\Startup\ST\STM32F2xx\system_stm32f2xx.c