FlyMcu串口下载

文章介绍了STM32的串口下载原理,包括BootLoader程序在系统存储器中的作用,以及如何通过FlyMcu进行程序更新。在更新过程中,Boot0和Boot1引脚的配置至关重要,用于选择启动Flash存储器或系统存储器。FlyMcu下载步骤涉及生成Hex文件、配置引脚、烧录程序及切换Boot引脚。此外,FlyMcu还支持一键下载、读Flash、设置读保护等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FlyMcu串口下载

串口下载原理

在这里插入图片描述

  • 主程序储存在Flash存储器中(起始地址: 0x0800 0000)
  • BootLoader程序存储在系统存储器中 (起始地址: 0x1FFF F000)
  • BootLoader程序是一个辅助程序用于串口下载

串口下载原理: 将编译的程序写入Flash存储器中, 单片机就会执行这一程序, 但是写入程序(接收并转存数据) 的过程本身也是一个程序,因此需要一个辅助程序来完成写入程序这一过程,也就是BootLoader程序。更新过程中,BootLoader接收USART1数据并刷新到Flash存储器中(此时主程序处于瘫痪状态), 更新好后, 再启动主程序, 执行新程序

可类比于手机的刷机模式或者电脑的PE系统

启动配置

在这里插入图片描述

  • BOOT0为0时, 启动的是Flash存储器, 也就是从0x0800 0000的位置开始运行(运行的是保存在里面的主程序)
  • BOOT0为1, BOOT1为0时, 启动系统存储器, 也就是从0x1FFF F000的位置开始运行(也就是BootLoader程序)
  • 每次切换BOOT引脚后,都需要按下复位

FlyMcu下载步骤

1. Output选项卡中勾选上Create Hex File(生成十六进制文件)

在这里插入图片描述

2. 打开FlyMcu 在对应项目的Objects文件夹中找到生成的Hex文件

在这里插入图片描述

3. 选择合适引脚和波特率

在这里插入图片描述

4. 切换跳线帽, 将单片机上Boot引脚配置为BOOT0为1, BOOT1为0

在这里插入图片描述

注意: 还需要按下复位按钮才能成功配置

5. 点击开始编程按钮, 等待程序烧录进去

在这里插入图片描述

6. 将Boot引脚切回(运行主程序)

也需要按下复位键

FlyMcu的其他功能(仅简单介绍)

  • 一键下载电路,就不需要频繁切换跳线帽和按复位键(若硬件没有一键下载电路, 则无法使用)
  • 读Flash, 可以读取单片机的程序并保存为.bin文件
  • 设定选项字节(设置读写保护、用户数据字节等)
  • 设置读保护后将不能读出Flash的内容; 解除读保护时stm32会自动擦除整篇Flash;如果想再次烧录代码,需要解除保护
  • 上位机可以很方便修改用户数据字节, 可以作为配置参数
  • 具体可以看江科大的课程

参考资料

stm32读保护
【STM32入门教程-2023持续更新中】

### STM32 Boot引脚功能 Boot引脚决定了STM32启动模式的选择。当BOOT0设置为高电平而NRST处于低电平时,设备会进入系统存储器引导加载程序模式,在此模式下可以更新内部闪存中的固件[^1]。 ### Bootloader的作用 Bootloader是一个位于ROM中的预编程代码片段,用于初始化微控制器并提供多种方式来加载用户应用程序到Flash内存中执行。对于STM32而言,内置的Bootloader支持通过USART、I2C等多种接口实现在线编程操作。 ### 串口下载原理 FlyMcu利用计算机上的USB转UART桥接芯片将TTL电平信号转换成RS232标准通信协议的数据流发送至目标板上对应的RX/TX管脚完成数据传输过程;与此同时,还需要适当配置MCU的相关寄存器以确保能够正确接收来自PC端发出的信息包,并将其写入指定地址空间内保存起来等待后续运行调用[^2]。 ### FlyMcu串口下载教程方法步骤 #### 准备工作 - 下载并解压[FlyMcu工具](https://pan.baidu.com/s/1lRjmeDN6UB7Q_VFs0S4UGg),提取码:80an。 #### 配置硬件连接 - 使用杜邦线按照如下对应关系连接开发板与电脑: - VCC -> USB-TTL模块VCC (红色) - GND -> USB-TTL模块GND (黑色) - TXD -> USB-TTL模块RXD (白色) - RXD -> USB-TTL模块TXD (绿色) #### 设置启动模式 - 将BOOT0拉高(通常情况下可通过跳线帽短接BOOT0和3.3V),使能系统内存启动模式以便激活内部Bootloader服务。 #### 执行烧录流程 ```bash # 启动FlyMcu.exe应用界面后点击“Open”按钮读取待刷写的HEX/BIN文件; # 接着选择合适的波特率,默认9600bps即可满足需求; # 最终按下“Download”键正式开始传送二进制映像直至提示成功为止。 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值