2、用的keil版本。低版本的是MDK3.80A,高版本的是MDK4.70A。原子提供的例程可以在低版本的MDK3.80中使用,也可以在高版本的4.70中使用。关于这两个版本的转换问题,在原子的论坛说的非常清楚,网址是http://www.openedv.com/posts/list/10955.htm按照教程转换后,有可能会出现的问题是:编译器错误提示STM32_TEST.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_md.o).造成这个问题的原因原子也
4、件是不同的。原子的例程中加载的启动文件是STM32F10x.s,我们新建工程默认加载的是startup_stm32f10x_md.s。STM32F10x.s在安装目录D:ProgramFilesKeilARMStartupST下,startup_stm32f10x_md.s则默认加载。这两个不同的启动文件的区别在于:startup_stm32f10x_md.s文件STM32F10x.s文件就是因为这个地方的不同,编译的时候才会出现STM32_TEST.axf: Error: L6218E: Undefined symbol SystemInit (refe
5、rred from startup_stm32f10x_md.o)这个错误提示。解决这个问题的方法原子描述的非常清楚,网址是http://www.openedv.com/posts/list/3010.htm把以下三句注释掉即可IMPORTSystemInitLDRR0,=SystemInitBLXR0如图:这样,问题就算解决了。我这里只是把过程简单的捋顺了一下,非常感谢提供解决方法的原子以及各位网友。希望我这个简答的解释能对初学者提供点帮助,祝愿一起进步。欢迎交流,QQ470599357