STM32f103系列各个芯片类型之间的程序移植
第一步:在Options for Target 的Device选项,修改STM32f103芯片型号**
根据你自己开发板使用的芯片类型来选择,比如我开发板使用的芯片型号是STM32f103ZET6,如图选择
第二步:在Options for Target 的C/C++选项,修改宏定义
根据使用的芯片型号来修改成相对应的宏定义
大容量芯片修改成:STM32F10X_HD,USE_STDPERIPH_DRIVER
中容量芯片修改成:STM32F10X_MD,USE_STDPERIPH_DRIVER
小容量芯片修改成:STM32F10X_LD,USE_STDPERIPH_DRIVER
比如我开发板使用的是STM32f103ZET6,是大容量芯片,所以作下图中修改
第三步:换启动文件
同样是根据芯片容量来换成相对应的启动文件
大容量芯片对应:startup_stm32f10x_hd.s
中容量芯片对应:startup_stm32f10x_md.s
小容量芯片对应:startup_stm32f10x_ld.s
第四步:修改FLASH容量
在Options for Target 的Debug选项–>Settings–>Flashdown里修改:
大容量对应的为:512K
中容量对应的为:64K和128K
小容量对应的为:16K和32K
可以通过Add按键来选择对应的flash
(注意:记得勾选图中的Reset and Run选项)
不选择成相应的flash,则会出现:Flash Download failed - “Cortex - M3”的错误
(如果找不到对应容量的flash,请参考下面这位兄弟的文章,非常棒!)
https://blog.csdn.net/weixin_41904238/article/details/90677396
这几步之后,你的程序代码就可以移植到目标型号的芯片上去了!
但是可能会因为外部晶振大小和SYSCLK时钟的问题,你的delay延时函数和串口可能会出现问题,比如delay延时变慢、串口传输错误等等。delay延时不精确会影响到时序等问题,如会导致dht11温湿度模块不能正常工作。
由于是第一次尝试写博客,就不写那么多了,留下的那些问题在下一篇文章再讲吧。