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

相关文章

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Python ORM神器之SQLAlchemy基本使用完全指南

《PythonORM神器之SQLAlchemy基本使用完全指南》SQLAlchemy是Python主流ORM框架,通过对象化方式简化数据库操作,支持多数据库,提供引擎、会话、模型等核心组件,实现事务... 目录一、什么是SQLAlchemy?二、安装SQLAlchemy三、核心概念1. Engine(引擎)

Java Stream 并行流简介、使用与注意事项小结

《JavaStream并行流简介、使用与注意事项小结》Java8并行流基于StreamAPI,利用多核CPU提升计算密集型任务效率,但需注意线程安全、顺序不确定及线程池管理,可通过自定义线程池与C... 目录1. 并行流简介​特点:​2. 并行流的简单使用​示例:并行流的基本使用​3. 配合自定义线程池​示

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边

Python Counter 函数使用案例

《PythonCounter函数使用案例》Counter是collections模块中的一个类,专门用于对可迭代对象中的元素进行计数,接下来通过本文给大家介绍PythonCounter函数使用案例... 目录一、Counter函数概述二、基本使用案例(一)列表元素计数(二)字符串字符计数(三)元组计数三、C

使用Spring Cache本地缓存示例代码

《使用SpringCache本地缓存示例代码》缓存是提高应用程序性能的重要手段,通过将频繁访问的数据存储在内存中,可以减少数据库访问次数,从而加速数据读取,:本文主要介绍使用SpringCac... 目录一、Spring Cache简介核心特点:二、基础配置1. 添加依赖2. 启用缓存3. 缓存配置方案方案

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令