使用Keil STM32构建时未定义的符号SystemInit(参考startup_stm32f2x.o)
我使用的是STM32F207VC控制器。我使用的是Uvision4IDE,当我试图编译一个简单的代码时,我得到了错误tst1.axf:error:L6218E:Undefined symbol SystemInit,引用自startup_stm32f2x.o。我已将stm32f2x文件放置到我的项目目录中 但还是一样的问题 请帮助解决这个问题使用Keil STM32构建时未定义的符号SystemInit(参考startup_stm32f2x.o),stm32,keil,Stm32,Keil,我使用的是STM32F207VC控制器。我使用的是Uvision4IDE,当我试图编译一个简单的代码时,我得到了错误tst1.axf:error:L6218E:Undefined symbol SystemInit,引用自startup_stm32f2x.o。我已将stm32f2x文件放置到我的项目目录中 但还是一样的问题 请帮助解决这个问题 谢谢那么,您应该定义或从某处获取函数SystemInit,因为它是从startup.s文件调用的 也可以在启动文件中的注释行中调用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外围库的一部分,其目的是初始化您需要的所有外围设备。如果没有它,您将不得不自己进行初始化。那么,您应该定义或从某处获取函数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外围库的一部分,其目的是初始化您需要的所有外围设备。没有它,您将不得不自己进行初始化。库\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system\u STM32F10x.c
需要添加它,因为SystemInit在其中定义。Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system\u STM32F10x.c
需要添加它,因为其中定义了SystemInit。可能太晚了,但是: 您应该检查Keil uVision安装文件夹,我希望所有供应商都有带SystemInit功能的文件:
~\Keil\ARM\Startup\ST\stm32fxxx\system\u stm32fxxx.c可能已经太晚了,但是: 您应该检查Keil uVision安装文件夹,我希望所有供应商都有带SystemInit功能的文件:
~\Keil\ARM\Startup\ST\stm32fxxx\system\u stm32fxxx.c优化您的解决方案:优化您的解决方案: