我使用的是STM32F207VC控制器。我正在使用uvision4 IDE,当我尝试编译一个简单的代码时,我得到错误tst1.axf:错误:L6218E:未定义的符号SystemInit(引自startup_stm32f2xx.o)。 。我把stm32f2x文件放到我的项目目录中。
但仍然是同样的问题。
请帮助解决这个问题。
由于
答案 0 :(得分:6)
“库\ CMSIS \ CM3 \ DeviceSupport \ ST \ STM32F10x \ system_stm32f10x.c”
需要添加,因为SystemInit()
是在其中定义的。
答案 1 :(得分:2)
好吧,你应该定义(或从某处获取)函数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库的一部分,它的目的是初始化您需要的所有外围设备。没有它,你必须自己做初始化。
答案 2 :(得分:0)
可能为时已晚,但是: 您应该检查Keil uVision安装文件夹,并且所有(我希望)供应商都有带有SystemInit功能的文件:)
〜\的Keil \ ARM \启动\ ST \ STM32F2xx \ system_stm32f2xx.c 的