问题:
采用寄存器开发,新建工程时使用的是编译软件提供的启动文件。在编译之后出现了问题,具体问题如下图所示:

解决方法:
编译软件报错分析:是因为启动文件stm32f10x_md.s里调用SystemInit这个函数但是没有找到。
当看到这个启动文件时,我第一感觉就是使用的不是编译软件提供的启动文件而是自己添加的固件库的启动文件。但是网友说这个启动文件确实是编译软件提供的。之后知道是编译软件版本不同。我一直使用的是4.10版本。这个版本提供的启动文件里是没有调用SystemInit的,如图:
而网友所用的4.72版本所提供的启动文件是stm32f10x_md.s如图:
所以使用4.72版本的启动文件就要添加固件库里的文件,不然会报错。那个SystemInit是在固件库里的system_stm32f10x.c里。