建站宝盒自助建站系统,网站维护报价单,淄博圻谷网站建设制作,湖南省郴州市临武县固件空中升级 (OTA, Over-The-Air) 是任何联网设备的重要功能之一#xff0c;支持开发人员通过远程更新固件#xff0c;以发布新功能或修复错误。乐鑫特权隔离框架中包含两类应用程序#xff1a;受保护的应用程序 (protected_app) 和用户应用程序 (user_app) #xff0c;这…固件空中升级 (OTA, Over-The-Air) 是任何联网设备的重要功能之一支持开发人员通过远程更新固件以发布新功能或修复错误。乐鑫特权隔离框架中包含两类应用程序受保护的应用程序 (protected_app) 和用户应用程序 (user_app) 这两类应用程序的空中升级可以独立完成。本文将介绍乐鑫特权隔离框架的独立 OTA 升级功能。 目录
ESP-IDF 的 OTA 升级流程
乐鑫特权隔离框架的 OTA 升级流程
OTA 升级流程用户应用程序
启动流程用户应用程序
Highlights 亮点 ESP-IDF 的 OTA 升级流程
ESP-IDF 在进行 OTA 升级时使用两个独立的分区系统来实现安全固件升级。
相关内容可见我们之前的博客文章 OTA 升级框架
乐鑫特权隔离框架的 OTA 升级流程
ESP 特权隔离框架为了兼顾受保护应用程序和用户应用程序的独立 OTA扩展了 ESP-IDF 的 OTA 机制。它的分区表结构可以实现对受保护应用和用户应用的独立更新。
# ESP Privilege Separation Partition table
# Name, Type, SubType, Offset, Size, Flags ESP Privilege Separation Partition table
nvs, data, nvs, , 0x6000,
phy_init, data, phy, , 0x1000,
otadata, data, ota, , 0x2000,
uotadata, data, user_ota,, 0x2000,
ota_0, app, ota_0, , 1500K,
ota_1, app, ota_0, , 1500K,
user_0, app, user_0, , 256K,
user_1, app, user_1, , 256K,
· otadata 分区负责为受保护的应用程序选择活动的固件。otadata 分区的大小为 4 KiB。
· uotadata 分区负责为用户应用程序选择活动的固件。uotadata 分区的大小为 4 KiB。
· ota_0 和 ota_1 分别为受保护应用程序的活动和非活动分区。由于受保护应用程序中含有大量代码因此这两个分区的大小为 1,500 KiB。
· user_0 和 user_1 分别为用户应用程序的活动和非活动分区。由于用户程序应用程序均为轻量级因此这两个分区的大小为 256 KiB。
OTA 升级流程用户应用程序
OTA 功能是联网设备最重要的功能之一。为了保护这一重要功能不被恶意使用OTA 功能本身也是受保护应用程序之一。这种设计也可以使用户应用程序免于 OTA 更新的相关工作因此开发也更容易。 用户应用程序 OTA 升级工作流程用户应用程序在发起 OTA 升级时首先向受保护应用程序发送一个 URL这个 URL 中包括最新的用户应用程序固件。接着受保护的应用程序将对收到的 URL 进行健全性测试并安排一个 job 在后台执行 OTA 更新之后返回至用户应用程序。最后该 job 将在非活动用户分区中下载固件镜像更新用户应用程序 uotadata 分区中的条目并重新启动设备。
乐鑫特权隔离框架还支持安全 OTA 功能即受保护应用程序可额外通过验证用户应用程序的签名来验证用户应用程序的真实性。但需要注意该功能需要单独使能。
启动流程用户应用程序 乐鑫特权隔离机制的启动引导流程与 ESP-IDF 的经典启动引导流程略有不同。二级引导程序首先启动受保护的应用程序然后受保护的应用程序将启动用户应用程序。受保护应用程序根据 uotadata 分区选择活动的用户分区。
乐鑫特权隔离机制还支持“回滚”功能一旦更新后的用户应用程序出现任何意外情况受保护的应用程序均可以将用户应用程序回滚至 OTA 之前的版本。
Highlights 亮点
OTA 功能完全由受保护的应用程序处理使用户应用程序免于 OTA 更新的相关工作因此开发也更容易。受保护的应用程序可提供安全 OTA 功能确保只有受信任的用户应用程序才能在设备上执行。支持“应用程序回滚”的故障安全选项以防用户应用程序下载不正确或在启动期间出现意外等情况。ESP 特权隔离仓库中提供了用户 OTA 示例欢迎您的测试。如有任何问题或反馈请随时在 GitHub 仓库中提交 issue。
您还可以点此观看视频演示了使用 ESP RainMaker® 和乐鑫特权隔离机制的用户应用程序如何进行 OTA 升级。