本实验采用的下载方式为串口下载,需要利用FlyMcu软件下载。
实际操作可以有以下两种方式硬件操作和软件操作,但是首先都要求生成对应的hex文件。
步骤一:将要下载的文件,编译成相应的hex文件。
当运行框跳出一行信息如下:
FromELF: creating hex file...代表生成对应hex文件。
步骤二:将单片机连接通过CH340(USB转串口连接至电脑端),搜索对应串口
USB转TTL模块
连接框图如下:
管脚对应图:(串口下载只支持USART1)
GND要求必须连接,因为USART是单端信号,必须共地,可以单独供电或者寄生供电,但是必须共地。
实际连接如下:
步骤三打开对应文件夹,找到对应要下载的hex文件,进行导入flymcu。
配置BOOT0为1,BOOT1为0,按下复位按键;
STM32只有在刚复位的时候才会读取boot引脚,所以配置完以后要按复位引脚。此时单片机执行Bootload程序,利用串口USART1不断接收数据刷新。
配置好BOOTload引脚以后,点击开始编程,程序就会从存储BootLoader区开始启动,把程序下载在程序存储器Flash也就是主闪存当中:存储C语言编译后的程序代码。
此时程序将一直从BOOTLOAD区不断开始启动下载至FLASH区域,也就是刷机。
此时下载完程序将没有现象,是因为单片机在不断执行刷机过程,无法启动程序,程序类似于瘫痪。
步骤四:将BOOTload引脚恢复原位,再次按下复位键让单片机重新确认BOOT的引脚状态
来决定程序从哪里执行。
重新按下复位键让单片机确定程序从哪里执行,此时可以观察到程序从主闪存执行LED闪烁实例代码。
? ?我们每次切换,都需要控制BOOTLOAD和RST的状态,当我们的设备具有CH340一键下载电路。就可以通过软件配置,由软件控制RST和bootload的状态,这时候我们就可以配置软件的模式:
常用的配置模式:DTR低电平复位,RTS高电平进BootLoader
然后点击一键下载即可,复位重新确认BootLoader状态。如果没有相关的串口一键下载电路,则需要手动切换BootLoader的跳线帽和复位键,需要注意。