[应用相关] [分享] STM32的串口下载方式(ISP)

[复制链接]
 楼主| 一点点0321 发表于 2020-11-29 19:39 | 显示全部楼层 |阅读模式
STM32的串口下载方式(ISP)
串口下载方式,即我们熟知的ISP方式。STM32出厂时,内部固化了通过串口1下载程序的代码。在PC端通过专用软件,即可通过串口将程序(hex文件)下载到芯片内部,常见的有STM32 Flash loader demonstrator、FlyMCU、MCUISP等,在stm的官网可以下载。
 楼主| 一点点0321 发表于 2020-11-29 19:40 | 显示全部楼层
1、ISP硬件连接


串口下载,需要使用串口,但笔记本电脑上通常不提供串口,所以需要使用USB转串口芯片完成接口的转换。常见的串口转USB的接口芯片有CP210X、CH340等。相应的,PC上需要根据转换芯片的型号,安装对应的驱动程序。
 楼主| 一点点0321 发表于 2020-11-29 19:40 | 显示全部楼层
硬件连接正确,且成功安装驱动后,在设备管理器中可以查看到,使用的接口芯片为CP210x,为该设备分配的端口号(如图所示,端口号为COM9)。
 楼主| 一点点0321 发表于 2020-11-29 19:41 | 显示全部楼层
 楼主| 一点点0321 发表于 2020-11-29 19:41 | 显示全部楼层
在串口下载时,boot0、boot1脚需要作特别的设置。
 楼主| 一点点0321 发表于 2020-11-29 19:42 | 显示全部楼层
STM32直接通过两个引脚Boot0和Boot1设置启动模式,boot0=0时,为程序运行模式;boot1=0,boot0=1时为串口下载模式;boot1=1,boot0=1时为SRAM启动模式。
 楼主| 一点点0321 发表于 2020-11-29 19:44 | 显示全部楼层
967275fc38999d0f6b.png 因此,串口下载时,Boot0接3.3,Boot1接GND,按复位按键,实现下载
 楼主| 一点点0321 发表于 2020-11-29 19:45 | 显示全部楼层
2、编译程序,生成HEX文件


Keil MDK中,Output设置中勾选生成HEX文件。
 楼主| 一点点0321 发表于 2020-11-29 19:45 | 显示全部楼层
 楼主| 一点点0321 发表于 2020-11-29 19:46 | 显示全部楼层
Hex文件位于MDK-ARM文件夹下,工程同名文件夹内。
 楼主| 一点点0321 发表于 2020-11-29 19:47 | 显示全部楼层
3、FlyMCU的设置 585615fc38a5796341.png
 楼主| 一点点0321 发表于 2020-11-29 19:48 | 显示全部楼层
PC端的软件设置大同小异,通常包括选择串口、波特率、加载hex文件等。
 楼主| 一点点0321 发表于 2020-11-29 19:48 | 显示全部楼层
设置完毕,最后点击“开始编程”,并按下实验板的RST键,完成程序的下载,下载成功显示的信息如图所示
 楼主| 一点点0321 发表于 2020-11-29 19:49 | 显示全部楼层
 楼主| 一点点0321 发表于 2020-11-29 19:49 | 显示全部楼层
4、注意事项


需要注意的是,串口下载方式,通常下载速度较慢,代码量比较庞大的工程,并不适合使用该方式;
 楼主| 一点点0321 发表于 2020-11-29 19:50 | 显示全部楼层
其次,这种方式,通常只能下载程序,无法实现调试,必要时,可以借助串口输出等其他技巧辅助调试;[
 楼主| 一点点0321 发表于 2020-11-29 19:53 | 显示全部楼层
在串口下载时,boot0、boot1脚需要作特别的设置,并需要按下RST配合完成下载过程。
Mozarts 发表于 2020-11-29 21:44 | 显示全部楼层
常见的有STM32 Flash loader demonstrator、FlyMCU、MCUISP等 很多要学习呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

480

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部

67

主题

480

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部