STM32使用FlyMcu串口下载程序与STLink Utility下载程序

2024-03-03 09:28

本文主要是介绍STM32使用FlyMcu串口下载程序与STLink Utility下载程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 软件链接
  • 一、FlyMcu串口下载程序
    • 原理
    • 优化手动修改跳线帽
    • 选项字节
    • 其他功能
  • 二、STLink Utility下载程序
    • 下载程序
    • 选项字节
    • 固件更新


前言

本文主要讲解使用FlyMcu配合USART串口为STM32下载程序、使用STLink Utility配合STLink为STM32下载程序,以及这两个软件的其他相关功能和下载程序的原理。


软件链接

链接:https://pan.baidu.com/s/1lRjmeDN6UB7Q_VFs0S4UGg
提取码:80an

一、FlyMcu串口下载程序

首先,要让需要下载的程序创建.hex文件,按如下勾选,然后点击OK
在这里插入图片描述

然后重新编译,就能得到.hex文件,在项目同级目录的Object目录下

在这里插入图片描述

然后还要使boot引脚变为boot1引脚,这样才能使芯片进入BootLoader程序<即不断接收串口的数据>(芯片只有在刚开始或复位时才会读取boot引脚,所以插入跳线帽后要复位一下)

在这里插入图片描述

此软件不需要下载,直接打开FlyMcu.exe,选择正确的串口号,还有所要的.hex文件

在这里插入图片描述

然后点击开始编程

在这里插入图片描述

最后由于boot引脚还在执行接收程序,所以还需把boot引脚变回boot0,即把跳线帽改回去,这样就可以执行程序了。

在这里插入图片描述

原理

首先看存储器映像,Flash就是存储要执行的程序的地方,当更新flash内容时,借助了BootLoader来辅助flash内容的更新,flash的更新就像机器人更换电池,在电池拿下的一刻,将无法自己完成后面的操作,所以这里需要BootLoader帮忙。
在这里插入图片描述

然后再看启动模式,对应修改跳线帽的部分

在这里插入图片描述

优化手动修改跳线帽

首先需要自己连接电路来驱动引脚修改boot引脚的值,配合FlyMcu的下拉框选择合适的方法即可
在这里插入图片描述
在这里插入图片描述

然后就是按下图勾选,可以一次性的减少一次boot跳线帽的复位,不过可以在需要频繁修改程序内容时暂时使用这种方式。
在这里插入图片描述

选项字节

如下图,选项字节相当于是程序之外的配置内容,可以通过外部软件简单方便的修改,但是此软件的选项字节与下载程序是同时的,如果开启了读保护或写保护,导致此程序无法下载程序,以至于无法修改读保护与写保护会形成死循环。
在这里插入图片描述
在这里插入图片描述

其他功能

在这里插入图片描述

二、STLink Utility下载程序

这个软件需要下载,点击.exe文件直接下载,选择好路径
在这里插入图片描述

安装成功后,到桌面打开这个软件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

下载程序

首先打开所需程序文件,这个软件支持.hex与.bin文件
在这里插入图片描述
选择其中一个
在这里插入图片描述
然后按下图开始下载
在这里插入图片描述

选项字节

这个软件可以独立配置选项字节,不会出现使用FlyMcu串口下载的读写保护导致的问题
在这里插入图片描述
在这里插入图片描述

固件更新

按如下图操作即可,不过不需要频繁的更新
在这里插入图片描述
需要手动重启,把STLink重新插入即可
在这里插入图片描述

在这里插入图片描述

这篇关于STM32使用FlyMcu串口下载程序与STLink Utility下载程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/769190

相关文章

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

Python logging模块使用示例详解

《Pythonlogging模块使用示例详解》Python的logging模块是一个灵活且强大的日志记录工具,广泛应用于应用程序的调试、运行监控和问题排查,下面给大家介绍Pythonlogging模... 目录一、为什么使用 logging 模块?二、核心组件三、日志级别四、基本使用步骤五、快速配置(bas

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

Python文件操作与IO流的使用方式

《Python文件操作与IO流的使用方式》:本文主要介绍Python文件操作与IO流的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python文件操作基础1. 打开文件2. 关闭文件二、文件读写操作1.www.chinasem.cn 读取文件2. 写

PyQt6中QMainWindow组件的使用详解

《PyQt6中QMainWindow组件的使用详解》QMainWindow是PyQt6中用于构建桌面应用程序的基础组件,本文主要介绍了PyQt6中QMainWindow组件的使用,具有一定的参考价值,... 目录1. QMainWindow 组php件概述2. 使用 QMainWindow3. QMainW

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

java变量内存中存储的使用方式

《java变量内存中存储的使用方式》:本文主要介绍java变量内存中存储的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、变量的定义3、 变量的类型4、 变量的作用域5、 内存中的存储方式总结1、介绍在 Java 中,变量是用于存储程序中数据

关于Mybatis和JDBC的使用及区别

《关于Mybatis和JDBC的使用及区别》:本文主要介绍关于Mybatis和JDBC的使用及区别,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、JDBC1.1、流程1.2、优缺点2、MyBATis2.1、执行流程2.2、使用2.3、实现方式1、XML配置文件

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增