STM32学习笔记之启动模式
前言:菜鸟成长过程中的心得总结,欢迎指出本博文的错误之处,以便大家一起学习。谢谢!!!
一、STM32的启动模式的选择
在STM32中,我们可以通过对BOOT0和BOOT1的配置,来选择我们所需要的启动模式,而BOOT0和BOOT1的配置,我们可以通过手册来查找,主要有如下图所示的几种启动方式。
二、常用的几种启动模式及其电路原理图
1、串口ISP
在使用串口ISP下载的时候,将BOOT0上拉接3.3V,将BOOT1接GND。最简单的电路如下图所示。
当我们需要更新程序时,将开关拨向2,当程序烧写完毕之后,在拨回原来的位置,即1处,然后复位之后程序即可正常运行。这种串口ISP的方式有一个弊端,就是只能通过它来烧写程序,我们不能通过它来调试程序。
2、JTAG
在STM32的学习中,JTAG是我们经常使用的一种调试模式,STM32的JTAG一般选择20pin的。其电路原理图如下图所示。
JTAG的各引脚的定义如下:
TCK——测试时钟输入
TDI——测试数据输入,数据通过TDI输入JTAG口
TDO——测试数据输出,数据通过TDO从JTAG口输出
TMS——测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式
TRST(可选)——测试复位,输入引脚,低电平有效。
3、SWD
在我们的实际生活中,SWD相比JTAG有许多优势,首先,4线(或3线)的SWD要比JTAG的引脚少的多,这就节约了许多的PCB空间。其次,SWD在高速模式下要比JTAG模式更加可靠。
我们在使用SWD模式时,对BOOT0和BOOT1需要做如下处理,将BOOT0悬空(或接高电平),将BOOT1经过一个10K的下拉电阻拉低。SWD模式的接口电路如下图所示。