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

电子说

1.3w人已加入

描述

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

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

STM32

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

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

APP 无法正常启动

程序莫名跑飞,出现 hardfault

固件搬运失败

固件解密解压错误

升级不稳定等

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

通用 Bootloader 的功能特点

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

STM32

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

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

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

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

支持各种 SPI Flash 存储固件

支持固件加解密功能

支持多种固件压缩方式

支持恢复出厂固件功能

以上功能均可自由配置

获取方式及使用方法

在线生成 Bootloader

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

Bootloader 生成页面如下所示:

填写板卡硬件配置

STM32

2. 配置分区表

STM32

3. 加密压缩配置

STM32

4. 配置 logo 和邮箱

STM32

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

制作 app 固件

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

开始 OTA 升级

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

STM32

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分