1.更换MCU型号(在Keil从STM32F103ZET6换成STM32F107RCT6) 时出现的编译错误:
这个问题是因为对应处理器内部资源少于启动文件中提及的内部资源,启动文件中某一部分寄存器地址在STM32F107RCT6中没有,才会编译出错。
2.更换启动文件宏定义
由于STM32F103系列的不同型号MCU内部ROM和RAM不同,其地址区间也有些许差异所以需要选择与型号对应的启动文件,并配置对应的宏定义
故首先将startup中加入startup_stm32f10x_cl.s启动文件,然后在“C/C++”配置启动文件:把STM32F10X_HD换成STM32F10X_CL
3.编译可能出现的问题error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.
解决方案: