FlyMcu串口下载使用

本文详细介绍了STM32通过串口下载HEX文件并使用BOOTload进行程序更新的过程,包括硬件连接、BOOTload设置、软件控制下载模式等,适用于硬件操作和软件配置两种场景。

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

本实验采用的下载方式为串口下载,需要利用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的跳线帽和复位键,需要注意。

### 关于32位单片机 FlyMCU下载使用教程 FlyMCU 是基于 STM32 系列微控制器的开发平台,因此其开发环境配置和工具链的选择可以参考 STM32 的相关内容。以下是针对 FlyMCU 的开发环境配置以及相关工具使用的详细介绍。 #### 一、开发环境配置 为了能够顺利编译并烧录程序到 FlyMCU 板子上,需要完成以下几项工作: 1. **安装 Keil MDK 工具链** 使用 Keil MDK 进行项目创建和调试是一个常见的选择。在安装完成后,需通过 Device Pack Manager 安装对应的芯片支持包 (Device Family Pack, DFP)[^3]。对于 STM32F767 类型的 MCU,应确保已安装 `Keil.STM32F7xx_DFP` 支持包。 2. **设置启动模式** 对于 STM32 系列 MCU,启动模式由 BOOT0 和 BOOT1 引脚的状态决定[^4]。通常情况下,默认进入主 Flash 启动模式即可满足大多数应用需求。如果计划通过串口或其他接口更新固件,则可能需要调整这些引脚状态来切换至系统内存或 SRAM 模式运行引导加载程序。 3. **配置 JTAG/SWD 接口** 需要准备一个合适的硬件调试适配器连接目标板上的 SWD 或 JTAG 接口来进行在线调试操作。推荐选用 ST-LINK/V2-1 型号作为经济实惠且兼容性强的选择之一。 #### 二、相关工具 Utilities 除了基本IDE外还需要一些辅助软件帮助我们更高效地完成整个流程: 1. **STMicroelectronics 提供的标准库及 HAL 库** - Standard Peripheral Library(STM32 SPL):适用于较旧版本项目的移植维护. - Hardware Abstraction Layer(HAL)Library:官方推出的高级抽象层API集合,简化驱动编写过程. 2. **STM32CubeMX 图形化配置工具** 可视化的初始化代码生成器允许开发者快速定义外设参数而无需手动编辑寄存器值.它还能自动生成部分框架结构便于后续扩展功能模块实现. 3. **Flash Loader Demonstrator & Programmer Tools** 当前主流方法还是借助第三方厂商生产的专用编程设备配合相应应用程序执行擦除/写入动作;不过某些特定条件下也可以利用内置bootloader机制经由USART通道上传新镜像文件覆盖原有内容[^1]. #### 示例代码片段展示如何开启GPIO端口A第5管脚输出高电平: ```c #include "stm32fxxx_hal.h" int main(void){ HAL_Init(); // 初始化HAL库 __HAL_RCC_GPIOA_CLK_ENABLE(); //使能 GPIOA 时钟 GPIO_InitTypeDef GPIO_InitStruct = {0}; /* 配置 PA5 */ GPIO_InitStruct.Pin = GPIO_PIN_5; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA,&GPIO_InitStruct); while(1){ HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET); // 设置PA5 输出高电平 } } ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值