STM32_串口下载程序

目录标题

前言

使用调试器下载程序又快有稳定还能使用调试功能,当然是下载调试的首选。但是拓展下串口下载程序的知识作为下载的备选方案也是很有必要的。

1、理论知识

ICP :使用SWD接口进行烧录,如J-Link烧录器和J-Flash软件配合使用。
ISP :使用引导程序(Bootload)加上外围UART/USB等接口进行烧录。
IAP:软件自身实现在线电擦除和编程的方法,不使用任何工具。程序通常分成两块,分别为引导程序和应用程序。

我们用串口下载程序就是ISP。

接下来介绍下STM32的启动模式。从STM32参考手册上,可以查阅到,STM32的启动模式,共有下列三种,可以通过BOOT0和BOOT1电平的不同组合,来选择不同的启动模式。

BOOT1 BOOT0 启动模式 启动地址 说明
X 0 主闪存存储器Flash 0x0800 0000 中断向量表定位于FLASH区,主闪存被选为启动区域,最常用,用户代码。同时复位后PC指针位于0x2000000处
0 1 系统存储器 0x1FFF F000 系统存储器被选为启动区域,程序功能由厂家设置。中断向量表定位于内置Bootloader区,此时可通过串口下载程序的二进制文件到flash区
1 1 内置SRAM 0x2000 0000 内置SRAM被选为启动区域,中断向量表定位于SRAM区,同时复位后PC指针位于0x2000000处

2、串口下载具体操作

2.1、硬件准备

USB-TTL模块、STM32单片机、杜邦线

按照下面的接线表格进行连接

单片机(以STM32F103C8T6为例) USB-TTL模块
5V 5V
GND GND
PA9(USART1_TX) RXD
PA10(USART1_RX) TXD

注意:

  • 1、单片机的RX、TX和USB-TTL模块的RX、TX要互斥的连接。
  • 2、串口下载只能使用串口1,对于其他型号单片机请提前查阅引脚功能表。
  • 3、单片机在有外部供电的情况下5V引脚接不接都可

2.2、软件准备

需要下载一个串口下载软件FlyMcu。

链接: FlyMcu下载地址

下载下面的压缩包即可。

压缩包解压后会有一个.exe文件,直接双击运行即可(免安装)。

2.3、设置单片机的启动模式为系统存储器启动

要让单片机进入系统存储器启动模式有两种方式:

  • 1、在单片机上电前将BOOT0配置为1,将BOOT1配置为0(通过拔插跳线帽使BOOT引脚与VCC或GND短接来实现),这样单片机一上电就进入系统存储器启动模式了。
  • 2、若单片机已上电,BOOT模式还没配置,可以配置跳线帽后按单片机的复位键使其进入系统存储器启动的模式。

2.4、软件配置

我们打开FlyMcu后,可以看到下面的界面,我们按着下面的步骤进行配置。

1、点击搜索串口,然后选中串口。

2、配置通信波特率。我们选择57600/76800均可,其它的只要别太高太低应该也是可以的。

3、选择一个Hex文件。如果有不会生成的可以看下面的"附:生成hex文件 "。

4、勾选"校验"、"编程后执行"。

5、取消勾选"编程到Flash时写选项字节"。

6、选择"DRT的低电平复位,RST高电平进BootLoader".

7、接下来就可以点击"读器件信息"了,此时若右侧窗口出现了器件信息表明连接成功了

2.5、下载程序

此时我们点击"开始编程",右下角会有一个进度条,等待进度条结束,程序就通过串口下载到单片机了。若你的程序有现象(比如灯会闪烁等),我们就可以看到。

若此时点击复位或重新上电会发现刚才的现象消失了,不过不用担心,这是因为现在单片机的启动模式还是系统存储器,我们只需要将跳线帽插回原来的样子(BOOT0连GND,BOOT1连GND),此时点击复位,单片机会从主闪存Flash启动,此时程序就会正常运行了。

附:生成hex文件

1、我们在keil中打开要调试下载的工程。

2、点击魔法棒

3、点击"Output"

4、勾选"Create HEX File"

5、点击OK

6、编译工程

7、此时我们在工程文件夹的Objects就可以看到.hex文件了。

相关推荐
不悔哥1 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
XiHongShi20161 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
优信电子1 天前
AIT1001 非接触式红外测温模块 STM32 驱动开发实战:从引脚到代码全解析
stm32·嵌入式·温度传感器·红外测温·非接触式测温·ait1001
深圳老胡1 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
wuyk5551 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
女神下凡1 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
梅梅9662 天前
一款mipi转lvds的lcd调试(LT8912B)
单片机·计算机外设·电脑·显示器·pd芯片
开发笔记-阿牛2 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
从零开始的嵌入式之旅2 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
恒锐丰科技林技术员2 天前
EG1164 高压大电流升压同步整流芯片解析
经验分享·嵌入式硬件·硬件工程