使用 STM32 通用 Bootloader ,让 OTA 更加 Easy

STM32G473VET6 FlashDB数据库移植(裸机、片内Flash) 此文档也适用于STM32G070。 阅读详情

随着物联网时代到来,越来越多的智能设备拥有了在线升级的能力,无论是系统更新,产品功能迭代还是漏洞修复都能在第一时间抵达用户手中的智能设备。

在线升级功能需要使用 OTA (Over-the-Air) 技术 ,OTA 技术简单地说就是通过网络来升级手中的智能设备,进而使用设备最新版本的功能。而 OTA 技术中必不可少的一环就是通过 Bootloader 来管理、升级设备固件。

由于 OTA 功能由多种复杂技术组成,因此添加 OTA 功能有一定的技术门槛。很多开发者遇到莫名其妙的问题,进而导致 OTA 升级失败,常见问题如下:

  • 升级过程缺少专业的安全机制

  • APP 无法正常启动

  • 程序莫名跑飞,出现 hardfault

  • 固件搬运失败

  • 固件解密解压错误

  • 升级不稳定等

为了解决广大开发者在添加 OTA 功能时遇到的种种困难,RT-Thread 开发团队凭借在该领域深厚的技术积累,为开发者提供了 STM32 系列的通用 Bootloader ,开发者通过该 Bootloader 即可直接使用 RT-Thread OTA 功能。

通用 Bootloader 的功能特点

下图展示了 RT-Thread 通用 Bootloader 的软件框架:

RT-Thread 通用 Bootloader 有如下特点:

  • 以 bin 文件的形式提供,无需修改即可使用

  • 资源占用小,ROM 最小只需要 16KB,最大 32KB

  • 适用于多系列 STM32 芯片(目前支持 F1 和 F4 系列 )

  • 支持各种 SPI Flash 存储固件

  • 支持固件加解密功能

  • 支持多种固件压缩方式

  • 支持恢复出厂固件功能

  • 以上功能均可自由配置

获取方式及使用方法

在线生成 Bootloader

Bootloader 可以通过网页端在线生成的方式来获取。开发者根据自己使用的芯片,填写相关参数,然后点击生成按钮,即可在线生成 Bootloader,在线获取地址:http://iot.rt-thread.com。

Bootloader 生成页面如下所示:

  1. 填写板卡硬件配置

    2. 配置分区表

   3. 加密压缩配置

    4. 配置 logo 和邮箱

点击生成按钮即可获取定制的 Bootloader。

制作 app 固件

可以通过阅读文档中心提供的 《STM32 通用 Bootloader 应用笔记》(https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/)来详细了解如何制作可以被用作升级的 app 固件。

开始 OTA 升级

准备好适合板卡使用的 BootLoader,然后制作好可以用作升级的 app 固件,就可以开始体验 OTA 升级功能了。下图展示了 HTTP OTA 升级方式的过程:

其他相关说明

  • RT-Thread 文档中心:《STM32 通用 Bootloader 应用笔记》:https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/

  • 你可以加入QQ群:340822587,交流相关技术或者使用问题

 

RT-Thread线上活动

1、【RT-Thread能力认证考试12月——RCEA】经过第一次考试的验证,RT-Thread能力认证得到了更多社区开发者和产业界的大力支持!(点此查看)如果您有晋升、求职、寻找更好机会的需要,有深入学习和掌握RT-Thread的需求,欢迎垂询/报考!

能力认证官网链接:https://www.rt-thread.org/page/rac.html(在外部浏览器打开)

立即报名

#题外话# 喜欢RT-Thread不要忘了在GitHub上留下你的STAR哦,你的star对我们来说非常重要!链接地址:https://github.com/RT-Thread/rt-thread

你可以添加微信18917005679为好友,注明:公司+姓名,拉进 RT-Thread 官方微信交流群

RT-Thread


让物联网终端的开发变得简单、快速,芯片的价值得到最大化发挥。Apache2.0协议,可免费在商业产品中使用,不需要公布源码,无潜在商业风险。

长按二维码,关注我们

看这里,求赞!求转发!

点击阅读原文进入GitHub

Voicebox本地部署:模型下载与离线模式实战指南 在本地语音处理场景中,模型下载失败和离线运行需求是开发者最常遇到的两大难题。理解语音工具的本地推理原理,关键在于掌握模型文件与程序逻辑的分离管理:模型独立下载,程序负责推理,输出留在本机。这种架构带来显著的技术价值——数据不出本地、不依赖公网、批量任务不中断。无论是语音识别转写、语音合成,还是集成到自动化脚本中,本地离线模式都能在隐私敏感或网络不稳定环境下稳定运行。对开发者而言,先解决模型文件的完整获取,再验证离线启动流程,就能绕过“无法下载模型”的常见坑。本文从环境准备、模型放置、服务启动到接口调用,提供 阅读详情

相关推荐

Jaspersoft Studio 6.20.0 免注册安装指南(附下载链接)

本文提供了Jaspersoft Studio 6.20.0社区版的免注册安装详细指南。文章介绍了绕过官网注册获取安装包的多种可靠途径,并逐步详解了从启动安装器到首次运行的全过程,帮助用户快速完成安装与基础配置,高效开启报表设计工作。

mars5的博客 1696

RT-Thread 命令自启动详解

(408条消息) RT-Thread的INIT_xxx_EXPORT 宏详解_init_env_export_gloryor的博客-优快云博客

sunxiaopengsun的专栏 645

Windows Server下OnlyOffice Workspace社区版安装避坑指南(含局域网邮箱配置)

本文详细介绍了在Windows Server环境下部署OnlyOffice Workspace社区版的完整流程,特别针对企业内网环境中的邮箱配置和端口冲突等常见问题提供了实用解决方案。通过硬件资源配置建议、软件环境检查清单以及内网邮箱系统搭建方案对比,帮助用户高效搭建企业级协作平台,实现团队协作的无缝对接。

weixin_29231263的博客 449

RT-Thread快速入门-线程管理(下)

首发,公众号【一起学嵌入式】 上一篇主要介绍了 RT-Thread 线程管理相关的理论知识: RT-Thread快速入门-线程管理 这篇重点介绍 RT-thread 提供的线程管理相关的接口函数,以及实战演示。 线程创建 在 RT-Thread 中,创建一个线程的方式有两种: 动态创建方式,线程的栈和线程控制块由系统从动态内存堆上分配。 静态创建方式,线程的栈和线程控制块由用户定义分配。 1. 动态创建线程 动态创建线程,用户不需要考虑线程栈和线程控制块空间分配的问题,全部由系统自动完成分配。用户只.

一起学嵌入式 6215

华为交换机实战:如何用ACL+流分类精准限制特定IP的网速(附完整命令)

本文详细介绍了华为交换机如何通过ACL+流分类技术实现精准IP限速,包括ACL规则配置、流分类关联、流行为定义及流策略应用等完整步骤。文章提供了实战命令和配置验证方法,帮助网络管理员有效管理带宽资源,解决特定IP占用过多带宽的问题。

weixin_29229055的博客 100

中文实体关系抽取数据集大盘点:从百度Duie2.0到医疗CBLUE,哪个更适合你的NLP项目?

本文全面分析了中文实体关系抽取领域的主流数据集,包括百度DuIE 2.0、医疗CBLUE等,帮助开发者根据项目需求选择最适合的数据集。文章详细对比了各数据集的特点、适用场景及优化策略,为自然语言处理项目提供实用指南。

weixin_29284657的博客 121

【RT-Thread】RT-Thread中常用的指令

在使用RT-Thread开发过程中常用的指令

ARM_qiao的博客 4133

安装openclaw时出现npm error code ENOENT npm error syscall spawn git报错的解决方案

本文主要介绍了安装openclaw时出现npm error code ENOENT npm error syscall spawn git报错的解决方案,希望能对使用openclaw的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 12万+

RT-Thread系列09——Finsh自定义命令

rtthread中finsh自定义命令

32Haozi 1883

把 SAP Query 用到极致:ABAP Query 的核心概念、配置流程、权限与运输治理全解析

摘要:SAP Query 是一款面向业务用户的自助报表工具,可解决标准报表无法满足业务需求的问题。其核心由四大组件构成:Queries(报表定义)、InfoSets(数据视图)、User Groups(权限分组)和Translation(多语言支持)。通过SQ03、SQ02、SQ01事务码分步创建用户组、数据视图和查询,业务用户无需ABAP知识即可生成Basic List(明细)、Statistics(统计)和Ranked List(排名)三种报表形式。典型案例展示了如何为采购部门设计包含明细追溯和Top1

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 181

PLC的模糊PID控制

模糊PID控制包括模糊化,确定模糊规则,解模糊等组成部分,小车通过传感器采集赛道信息,PLC通过温度传感器获取炉内温度,确定当前实际温度和设定目标值的偏差e(error), e=setpoint-input以及偏差的变化ec(当前偏差-上次偏差),根据给定的模糊规则进行模糊推理,最后对模糊参数进行解模糊,输出PID控制参数 其次我们需要对这2个参数进行模糊化,e 、 ec 这里我对e进行举例,两个输入的标准化范围都在 [-1,1] 范围内。模糊逻辑控制器还产生范围 [-1,1] 内的归一化输出。 博

RXXW_Dor的博客 1万+

使用 STM32 通用 Bootloader ,让 OTA 更加 Easy【转载】

使用 STM32 通用 Bootloader ,让 OTA 更加 Easy【转载】 随着物联网时代到来,越来越多的智能设备拥有了在线升级的能力,无论是系统更新,产品功能迭代还是漏洞修复都能在第一时间抵达用户手中的智能设备。 在线升级功能需要使用 OTA (Over-the-Air) 技术 ,OTA 技术简单地说就是通过网络来升级手中的智能设备,进而使用设备最新版本的功能。而 OTA 技术中必不可少...

zaohang的专栏 1342

使用Qt Creator自带的Qt Designer构造UI界面流程总结

在本文中,我们将总结使用Qt Creator自带的Qt Designer构造UI界面的流程。在对话框中,您可以选择一个控件的信号,然后将其连接到另一个控件的槽。例如,您可以将按钮的点击信号连接到一个槽函数,以响应按钮的点击事件。右键单击窗口设计器中的空白区域,选择适当的布局管理器,如水平布局、垂直布局或网格布局。在Qt Designer中,您可以使用各种预定义的UI控件来设计应用程序的界面。现在,您可以在应用程序的源代码中使用生成的UI界面。在您的源文件中,包含相应的头文件,然后创建一个UI界面的实例。

cl6789的博客 1394

stm32 通用bootloader_如何使用STM32通用Bootloader让OTA更加Easy

随着物联网时代到来,越来越多的智能设备拥有了在线升级的能力,无论是系统更新,产品功能迭代还是漏洞修复都能在第一时间抵达用户手中的智能设备。在线升级功能需要使用 OTA (Over-the-Air) 技术 ,OTA 技术简单地说就是通过网络来升级手中的智能设备,进而使用设备最新版本的功能。而 OTA 技术中必不可少的一环就是通过 Bootloader 来管理、升级设备固件。由于 OTA 功能由多种复...

weixin_34508986的博客 323

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

一些不错的技术网站书签(持续更新)

基础:

fanged的专栏 1767

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

RT-Thread开发实战 --- PIN设备的使用

【代码】RT-Thread开发实战 --- PIN设备的使用。

drsonxu的博客 1045

RT-Thread 添加 msh 命令

finsh是RT-Thread的命令行外壳(shell),finsh支持两种模式,msh 就是其中一种【传统命令行模式,此模式又称为msh(module shell)】

Super辉sir的博客 6694

RT-Thread FinSH 自定义命令开发:实战案例

FinSH 命令原理argc:参数个数(含命令名)argv:参数字符串数组返回值:0 表示成功,负数为错误码。

assaxasxas的博客 544

rtthread的console

命令执行:当用户在命令行中输入命令时,RT-Thread Console将解析用户输入,并将其转发给相应的命令执行函数。当用户输入命令时,RT-Thread Console将显示可用的命令选项,并根据用户的输入过滤出匹配的选项。命令历史记录:RT-Thread Console可以记录最近执行的命令,并允许用户在历史记录中查找和执行以前执行过的命令。RT-Thread Console,用于与系统交互和调试。自定义命令:finSH 支持用户自定义命令,用户可以通过编写相应的 C 代码,实现自己的命令。

最后一个bug的博客 799

RT-Thread中自定义 FinSH 命令

在使用RT-Thread中的FinSH 命令时,除了系统默认的FinSH命令以外,我们还可以自定义FinSH命令。下面就来演示一下如何自定义FinSH命令。关于FinSH命令的详细用法请参考官方资料https://www.rt-thread.org/document/site/programming-manual/finsh/finsh/。 要使用FinSH 命令首先要添加FinSH组件,添加组件的详细过程见手把手教你移植RT-Thread系统,FinSH组件添加成后,打开建立...

HXYDJ的博客 5203

[嵌入式系统-18]:RT-Thread -4- shell组件与常见命令

FinSH(Fully integrated SHell)是RT-Thread中的一种命令行交互式终端,它是RT-Thread中的默认命令行工具,用于与嵌入式设备进行交互和配置。串口连接:通过串口线将主机设备(如PC)与目标嵌入式设备连接,然后使用串口终端工具(如Tera Term、SecureCRT等)打开串口连接。网络连接:嵌入式设备支持网络连接时,可以通过TCP/IP协议与设备进行通信。使用网络终端工具(如Telnet、PuTTY等)连接设备的IP地址和端口号。

文火冰糖(王文兵)的博客 2669

命令集实现,RT_Thread控制台为例

命令集

injre! injre~ 413

1.rtthread常用调试命令

系统状态类ps(线程)、meminfo(内存)、list_sem(IPC),用于快速定位系统层面问题;硬件调试类pin(GPIO)、i2cuart(外设),验证硬件和驱动通信;高级定位类bt(调用栈)、heap(内存调试),解决崩溃、内存泄漏等复杂问题。这些命令覆盖了80%以上的调试场景,掌握后能大幅提升RT-Thread开发和问题定位效率。

知识共享、互助共进 875

stm32 IOT_STM32通用Bootloader——FOTA

1.固件升级简述固件升级,通常称为 OTA(Over the Air)升级或者 FOTA(Firmware Over-The-Air)升级,即固件通过空中下载进行升级的技术。1.1 bootloader 升级模式bootloader 的升级模式常见有以下两种:bootloader 分区 + app1 分区 + app2 分区模式该模式下, bootloader 启动后,检查 app1 和...

weixin_39608748的博客 1170
上一篇: FreeModbus 应用笔记(2)——运行 Modbus 从机并使用网络通信
下一篇: TCP/IP Over USB 用USB传输以太网数据,给你的MCU加个网卡
RT-Thread物联网操作系统
博客等级 码龄6年 2万+粉丝 392原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值