多年来,微控制器一直是各种产品的主要产品,不断革新其功能集、可靠性和性能。摩尔定律为最小和最实惠的消费类产品带来了 16 位和 32 位处理。
更大的内存和CPU能力的存在允许使用实时操作系统(RTOS),而以前开发人员必须依赖“裸机”编码。然而,随着产品发展成为物联网环境中的连接设备,它揭示了微控制器软件开发传统方法的根本缺陷。
本文是涵盖有望缓解的新物联网架构的系列文章中的第一篇:基于微管理程序的方法。
一致的设备可达性是物联网项目的关键
未连接的产品可能包含 90% 的应用程序代码和 10% 的第三方代码(并且不需要持续维护,因为任何攻击都需要物理访问),但连接的产品通常是 20% 的应用程序代码和 80% 的第三方代码,所有这些都必须维护以保护用户和制造商的声誉。
集成和维护外部组件不仅会增加产品的生命周期成本,而且无法在市场上提供任何附加值或差异化,最终用户看不到。这导致大量资源(无论是在时间和金钱方面)被浪费在为每个物联网产品重新创建连接解决方案上,而不是专注于独特的特性或功能。
此外,缺乏相关的领域知识以及复杂性、预算和时间表的压力会导致潜在的安全问题,这些问题可能会在未来危及产品的安全性。为了减轻这些负担,许多企业求助于物联网平台,正如Transforma Insights最近的一项调查所见 - 这是理所当然的。
几个关键因素会影响任何物联网项目的可行性,尤其是在工业领域:
一致的设备可访问性:在连接的设备和云之间保持可靠且一致的通信
值得信赖的设备到云安全性:在硬件和应用程序级别维护连接设备的完整性和机密性
可预测的端到端成本:提前了解长期安全的成本
使用预构建平台进行物联网设备管理的便利性、安全性、OTA 固件更新功能和设备生命周期管理受到许多用户的高度赞赏。但是,这些平台在开发人员灵活性方面也可能受到很大限制,限制了编程语言、操作系统和开发工具的选择。虽然这种级别的控制可能适合不熟悉硬件和固件工程的最终用户,但对于希望将连接集成到现有设备中的经验丰富的开发人员来说,它可能是一个重大障碍。IDC的行业分析师Arnal Dayaratna在最近关于边缘应用程序开发的市场报告中提出了这种开放性要求,他说:
“优先考虑可移植性:边缘开发要求数字解决方案从根本上具有可移植性并与多种基础设施兼容。
物联网平台的微管理程序方法有望缓解。基于微管理程序架构的物联网平台可以提供上述远程固件更新和远程设备生命周期管理功能,但不强加供应商对操作系统或编程语言的选择。此外,它可以提高安全性,并提供全新的物联网功能,例如固件的实时逐行远程调试。
什么是微遮蔽器?
微监控程序是一种使用微控制器虚拟机管理程序的物联网方法,可在连接互联网的设备上实现可靠和安全的远程操作,例如故障安全无线固件更新。
在架构上,微管理程序利用微控制器内的硬件分离(例如意法半导体的STM32U585)在启动时将其分为两个部分,例如利用Arm® Trustzone®。
TrustZone 提供了一种经济高效的方法来隔离系统中的安全关键组件,方法是将丰富的操作系统与更小、更安全的操作系统进行硬件分离。外设在启动时分配给微管理程序区域或客户应用程序区域,这两个部分彼此独立运行代码。这允许完全的安全性,并且在应用程序区域运行的操作系统或编程语言方面完全不可知。
由于TrustZone拆分,微管理程序元件在同一MCU上“与”应用程序代码一起运行,但具有不同的安全权限。Microvisor 在应用程序代码空间周围包裹了一层安全性和连接性。
基于微监控程序的物联网平台不会对必须使用的操作系统或语言施加任何限制。它适用于嵌入式开发中的任何方法,无论是
定制的裸机方法
构建在“现成”操作系统之上,例如FreeRTOS或Azure RTOS
使用您选择的任何编程语言
基于微监控程序的架构允许的关键功能之一是无线 (OTA) 固件更新,但在某种程度上,在发生故障时无需在设备上使用 2 个版本的固件。
保证固件更新的设备可用性
微管理程序架构中的职责分工确保了物联网设备的可靠和一致的连接。微监控程序负责维护 IP 堆栈,以及 Wi-Fi 和/或蜂窝调制解调器的固件和驱动程序。即您的设备连接并保持连接所需的一切。
这意味着,即使在发生意外的应用程序故障时,由于微管理程序组件保持连接和可访问,设备仍保持连接和可访问。这包括图中突出显示的所有组件。
连接的可靠性消除了设备“砖砌”的风险,为固件开发开辟了新的机会。这允许将硬件制造过程与固件开发过程分离。由于能够执行频繁且可靠的固件更新,硬件制造商甚至可以在固件经过完整测试之前生产设备。(然而,这种以前只在Web和云开发中看到的敏捷性是否会被设备制造商采用还有待观察。
与任何FOTA(无线固件更新)方法一样,节省带宽至关重要,特别是对于产生数据使用成本的蜂窝连接设备。更新服务必须知道设备的当前操作清单,该清单定义了应存储在每个定义的内存区域中的代码/数据 - 在片上闪存或 QSPI 闪存中。因此,当新包排队等待FOTA时,只有不匹配的区域才会部署到设备中。
基于微监控程序的方法也不例外,微监控程序负责将更新从云应用到设备 QSPI 存储中的暂存区域所需的数据,并在其中保持加密状态。一旦设备将应用程序的所有更改部分安全地存储在暂存区域中,它将以故障安全和可重启的方式应用升级,以确保从应用程序的角度来看,升级似乎是原子的。
可以在升级暂存过程中通知应用程序,因为它可能希望向最终用户指示进度。暂存过程完成后,应用程序会收到通知,并可以选择方便的时间执行升级。如果需要,客户可以在暂存后随时强制应用升级;例如,如果旧代码行为不佳,则可以使用此方法。
审核编辑:郭婷
-
微控制器
+关注
关注
48文章
7565浏览量
151574 -
物联网
+关注
关注
2909文章
44713浏览量
374276 -
OTA
+关注
关注
7文章
582浏览量
35269
发布评论请先 登录
相关推荐
评论