1、STM32通用Bootloader——FOTA简介
固件升级,通常称为 OTA(Over the Air)升级或者 FOTA(Firmware Over-The-Air)升级,即固件通过空中下载进行升级的技术。
bootloader 升级模式
bootloader 的升级模式常见有以下两种:
bootloader 分区 + app1 分区 + app2 分区模式 该模式下, bootloader 启动后,检查 app1 和 app2分区,哪个固件版本最新就运行哪个分区的固件。当有新版本的升级固件时,固件下载程序会将新的固件下载到另外的一个没有运行的 app分区,下次启动的时候重新选择执行新版本的固件。 优点:无需固件搬运,启动速度快。 缺点: app1 分区和 app2 分区通常要大小相等,占用 Flash
资源;且 app1 和 app2 分区都只能存放app 固件,不能存放其他固件(如 WiFi 固件)。
bootloader 分区 + app 分区 + download 分区模式 该模式下, bootloader 启动后,检查 download分区是否有新版本的固件,如果 download 分区内有新版本固件,则将新版本固件从 download 分区搬运到 app 分区,完成后执行 app分区内的固件;如果 download 分区内没有新版本的固件,则直接执行 app 分区内的固件。当有新版本的升级固件时,固件下载程序会将新的固件下载到download 分区内,重启后进行升级。
优点: download 分区可以比 app 分区小很多(使用压缩固件),节省 Flash资源,节省下载流量;download 分区也可以下载其他固件,从而升级其他的固件,如 WiFi 固件、 RomFs。
缺点:需要搬运固件,首次升级启动速度略慢。
RT-Thread OTA 使用的是 bootloader 升级模式 2, bootloader 分区 + app 分区 + download分区的组合。
为了能让开发者快速掌握 OTA 升级这把利器,RT-Thread 开发团队提供了通用的Bootloader。开发者通过该 Bootloader
即可直接使用 RT-Thread OTA 功能,轻松实现对设备端固件的管理、升级与维护。
下图展示了 RT-Thread 通用 Bootloader 的软件框架:
原作者:Aladdin-Wang
更多回帖