STM32冷启动下载
适用问题:
A、使用【RS232转TTL模块】下载受阻
B、串口能通信不能下载
解决方案:
硬件配置BOOT使得STM32不从Flash启动(拉高BOOT0)
实验平台:
STM32F10x最小系统
RS232转TTL模块(CH340G)
WIN10-在线编程器
正文
- 下载程序到芯片FLASH大概率会用到【RS232转TTL】(也就是通常说的USB转串口)模块;部分模块会注明要求下载程序时“单片机冷启动”,冷启动是个啥?
冷启动和热启动都是复位呐,冷热的区分在于内部RAM是否被重新初始化;冷和热分别对应着上电复位和按键复位。也就是说,这两种启动方式按照单片机掉电与否区分的。
说到这儿至少能区别两种启动方式了,但有的最小系统上没有电源开关,或者直接使用UART1的VCC接口作电源,又该怎么办呢?
答案十分简单:直接把BOOT0拉高;也就是把BOOT用跳帽接到3V3就可以了。
#备注:
考虑到初次使用这类模块下载的小朋友,补充几点:
1、杜邦线接法:rx和tx分别是接受口和发送口,所以接法是接口rx和tx相连,而不是直觉上的rx接rx,tx接tx;
2、下载完成后,可能由于开发环境或者下载助手的配置单片机自行启动运行程序;但还是要把BOOT0拉低,否则手动复位后单片机就不是从烧录到FLASH的程序启动了,以至于引起部分小朋友的疑惑;