STM32启动模式及程序下载原理总结
最近在学习STM32过程中,对其串口实现程序下载的原理不甚了解,查阅网上资料及官方手册后,明朗了不少,总结如下:
要了解其程序下载原理,必须对STM32的启动模式有一定了解。
官方参考手册里可以查到,在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式:
以下是正点原给出的解释:-
一般情况下如果我们想用用串口下载代码,则必须配置BOOT0为1,BOOT1为 0,而如果想让 STM32 一按复位键就开始跑代码,则需要配置 BOOT0 为 0,BOOT1 随便设置都可以,为了电路设计方便也选择0。
正点原子战舰 STM32F103 专门设计了一键下载电路,通过串口的 DTR 和RTS 信号,来自动配置 BOOT0 和 RST 信号,因此不需要用户来手动切换跳线帽来改变他们的状态,直接串口下载软件自动控制。
串口下载程序过程:
1. 用串口下载代码,先配置BOOT0为1,BOOT1为 0,从而进入 ISP 模式,下载代码。(从系统存储器启动,而内嵌的自举程序存放在系统存储区