随着物联网时代到来,越来越多的智能设备拥有了在线升级的能力,无论是系统更新,产品功能迭代还是漏洞修复都能在第一时间抵达用户手中的智能设备。
在线升级功能需要使用 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 生成页面如下所示:
填写板卡硬件配置
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 升级方式的过程:
-
物联网
+关注
关注
2914文章
45023浏览量
378127 -
STM32
+关注
关注
2274文章
10930浏览量
358131 -
OTA
+关注
关注
7文章
589浏览量
35458 -
bootloader
+关注
关注
2文章
235浏览量
45814
原文标题:使用 STM32 通用 Bootloader ,让 OTA 更加 Easy
文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
适用 STM32 通用 Bootloader ,让 OTA 更加 Easy
![适用 <b class='flag-5'>STM32</b> <b class='flag-5'>通用</b> <b class='flag-5'>Bootloader</b> ,<b class='flag-5'>让</b> <b class='flag-5'>OTA</b> <b class='flag-5'>更加</b> <b class='flag-5'>Easy</b>](https://file.elecfans.com/web1/M00/A7/EB/pIYBAF2IXwWAD0XBAAEoTjfBTRg168.png)
STM32单片机OTA程序升级相关资料分享
RT-Thread STM32通用Bootloader + ota_downloader软件包怎样进行升级呢
OTA的原理是什么?rt-thread的OTA具体操作过程是怎样的
求一种RT-Thread STM32F4通用BootLoader的制作和使用方案
教你怎样通过Bootloader直接使用RT-Thread OTA功能
制作stm32L4通用bootloader没有运行是什么原因造成的
STM32通用Bootloader—FOTA简介
STM32F10X系列通用OTA bootloader移植与使用指南
![<b class='flag-5'>STM32</b>F10X系列<b class='flag-5'>通用</b><b class='flag-5'>OTA</b> <b class='flag-5'>bootloader</b>移植与使用指南](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于STM32F407的STM32通用BootLoader使用经验
![基于<b class='flag-5'>STM32</b>F407的<b class='flag-5'>STM32</b><b class='flag-5'>通用</b><b class='flag-5'>BootLoader</b>使用经验](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
stm32 IOT_STM32通用Bootloader——FOTA
![<b class='flag-5'>stm32</b> IOT_<b class='flag-5'>STM32</b><b class='flag-5'>通用</b><b class='flag-5'>Bootloader</b>——FOTA](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RT-Thread的OTA调试记录
![RT-Thread的<b class='flag-5'>OTA</b>调试记录](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
评论