一、STM32的3种烧录方式
茴香豆的“茴”字stm32有四三种写法烧录方式,分别为
1、串口烧录
2、一键烧录(st-link,J-link,swd都归为这类)
3、USB OTG烧录
本文重点在3,为求集成化,现在市面上的班子不一定会装载CH340,但大部分有USB接口,方式1、2网上教程很多,故不在本文解释。
二、环境介绍
本文使用ubuntu20.04环境
使用的编译器为STM32CubeIDE
板子芯片型号为STM32F407VET6
烧录软件为stm32cubeprogrammer
以上自行安装,其中编译器与烧录软件可以在st官方自行下载linux版本
三、单片机识别
1、DFU配置
首先下载DFU支持,否则在linux上stm32cubeprogrammer无法识别芯片
sudo apt-get install dfu-util
2、进入bootloader
此部分目的是为了让ubuntu识别到stm32,实现步骤为:
1、将boot0设置为高电平
2、按一下reset
3、将boot0设置为低电平
此时单片机进入bootloader模式,如果需要退出,再按一下reset,这里先不退出。
可以使用以下代码查看电脑是否识别到stm32
lsusb
这里看到已经识别到stm32
四、Cubeide生成hex文件
烧录需要程序的hex文件,如果在win上使用keil,可以直接跳过,在linux使用Cubeide继续。
依次点击project->properties
打开如下界面,红色框中,第一个为生成bin文件,第二个为生成hex文件,需要将第二个勾上,第一个也可以勾上,但与本文无关。
点击debug生成的文件在文件路径中,debug文件内。
五、stm32cubeprogrammer烧录
1、连接
第一步:选取USB
第二步:刷新出port USB1
第三步:点击connect连接
连接完成后的界面如下
2、烧录
依次点击加号(如下)->open file,选择生成的hex文件
点击download
出现以下字样代表烧录成功
3、最后操作
按下reset即退出bootloader,程序即可正常运行,如果需要修改程序,需要重新进入bootloader并程序连接stm32cubeprogrammer