适应性规划、渐进式开发、早期交付、持续改进、灵活响应需求变化——所有这些敏捷实践都被认为是现代软件开发的标准。然而,连接设备的固件开发似乎停留在过去;必须遵循以设备运输结束的瀑布模型。
不应该是这样的。物联网连接的新方法首次为边缘原生开发带来了敏捷性,包括在蜂窝连接设备上进行逐行调试的能力。
这是涵盖基于微管理程序的新物联网连接方法的系列文章中的第二篇。第一个可以在这里找到:在具有微管理程序架构的MCU上实现不可阻挡的远程固件更新
物联网中安全远程实时调试的意义
物联网设备突然变得无响应和断开连接是任何嵌入式开发人员的噩梦场景。如果它只发生在一台设备上,这是一个主要问题,特别是如果它影响客户,但如果它影响物联网设备队列的一小部分,这可能是一场灾难。
考虑一下如果软件故障通过广泛的设备测试程序,导致即使只有 10% 的已部署设备失去连接,后果也会很高 - 恢复成本将是巨大的。
不幸的是,此类事件确实会发生,尽管可以修复软件错误,但此类问题的风险很大。
设备成为“砖块”的妹妹是未按预期运行的设备。在连接设备的世界中,这曾经意味着收集历史堆栈跟踪和其他崩溃日志来分析可能发生的事情 - 但这种方法依赖于适当的代码检测。事后看来,程序员将无法检查未记录的条件或变量值。实时调试,即逐行单步执行代码、设置断点、检查寄存器和变量值的能力,在边缘原生开发中并不是一件事情。
实时远程调试功能对于了解现场设备行为非常有用;但杀手锏的价值可能就在别的地方。实时调试与不可逾越的固件 OTA 更新相结合,为固件开发过程本身开辟了新的机会。它基本上允许将硬件制造过程与固件开发过程分离。由于能够执行频繁可靠的固件更新以及调试已经制造和部署的设备,产品公司甚至可以在固件经过完整测试之前生产设备。
所有这些都是通过基于微管理程序的物联网连接方法实现的。
什么是微遮蔽器?
微管理程序是一种将虚拟机管理程序用于微控制器的物联网方法,可在连接互联网的设备上实现可靠和安全的远程操作,例如故障安全的无线固件更新和实时调试。
在架构上,微管理程序利用微控制器内的硬件分离(例如意法半导体的STM32U585)在启动时将其分为两个部分,例如利用Arm® Trustzone®。
TrustZone 提供了一种经济高效的方法来隔离系统中的安全关键组件,方法是将丰富的操作系统与更小、更安全的操作系统进行硬件分离。外设在启动时分配给微管理程序区域或客户应用程序区域,这两个部分彼此独立运行代码。这允许完全的安全性,并且在应用程序区域运行的操作系统或编程语言方面完全不可知。
由于TrustZone拆分,微管理程序元件在同一MCU上“与”应用程序代码一起运行,但具有不同的安全权限。Microvisor 在应用程序代码空间周围包裹了一层安全性和连接性。
基于微监控程序的物联网平台不会对操作系统或编程语言施加任何限制。它适用于嵌入式开发中的任何方法,无论是
定制的裸机方法
构建在“现成”操作系统之上,例如FreeRTOS或Azure RTOS(fka ThreadX)
使用您选择的编程语言
基于微监控程序的架构允许的关键功能之一是无线 (OTA) 固件更新,但在某种程度上,在发生故障时无需在设备上使用 2 个版本的固件。另一个是实时调试。
微监控程序如何实现安全的远程实时调试
借助位于 Arm TrustZone 分段处理器安全区域中的微管理程序,我们现在可以通过隧道传输加密命令和数据(在本例中为 GDB 调试协议),从本地开发 PC 或 Mac 一直传输到边缘设备本身,无论它位于世界何处。使用 CLI 工具和相应的插件,开发人员可以在他们的开发计算机上运行本地 GDB 服务器,他们可以将其连接到自己的工具链/集成调试体验,就像他们在办公桌上本地调试的设备一样。此本地服务器将通过相应的微监控程序云服务直接连接到要调试的边缘设备。此连接可以通过蜂窝连接或通过Wi-Fi /以太网透明地路由到嵌入式设备。
这将打开所选调试器(命令行或基于 GUI)的所有功能,开发人员需要这些功能来找出其应用程序出了什么问题。安全的远程调试链接是完全端到端加密的,并确保只有开发人员才能访问其设备。最重要的是,访问安全的远程调试意味着可以在边缘设备本身上物理禁用本地调试端口,从而使设备在现场更加安全。
无需本地访问即可安全调试 IoT 设备的好处
能够安全地远程调试设备具有许多业务优势:
节省成本:在现场查找和修复错误的成本大大降低。当客户报告无法在实验室中重现的问题时,固件工程师现在可以访问现场遇到问题的实际设备,并准确查看出了什么问题。当不可避免的错误确实发生时,这可能会节省大量的时间和金钱。
功能开发敏捷性:此功能开辟了在该领域开发新功能的可能性。开发人员可以选择在现实世界中部署开发设备,并使用此设备开发和测试其下一个功能,而不是花时间模拟现实世界来开发新产品功能。
维护效率:开发人员可以在现场产品问题发生时做出反应,将修复和升级作为其敏捷开发流程的常规部分。
审核编辑:郭婷
-
处理器
+关注
关注
68文章
19461浏览量
231421 -
嵌入式
+关注
关注
5096文章
19199浏览量
308298 -
物联网
+关注
关注
2914文章
45014浏览量
377931
发布评论请先 登录
相关推荐
基于ARM Cortex-M7的STM32H7微控制器正式量产
NuMicro M2351系列微控制器的安全特色与应用
STM32L5系列微控制器和TrustZone开发入门
通过架构改进提高微控制器处理效率
![<b class='flag-5'>通过</b><b class='flag-5'>架构</b>改进提高<b class='flag-5'>微控制器</b>处理效率](https://file1.elecfans.com//web2/M00/A6/1C/wKgZomUMO8SADR1WAAAQn2rsiII915.jpg)
ARM Cortex-R52专属汽车安全管理程序面世
![ARM Cortex-R52专属汽车<b class='flag-5'>安全</b><b class='flag-5'>管理程序</b>面世](https://file1.elecfans.com//web2/M00/A6/AD/wKgZomUMP5CACd9zAABbNE1VtWg160.jpg)
安全微控制器用户指南
![<b class='flag-5'>安全</b><b class='flag-5'>微控制器</b>用户指南](https://file.elecfans.com/web2/M00/49/84/pYYBAGKhtFmAaBPzAAAPwUiQKWw436.jpg)
Zynq通过 Xen 管理程序可实现快速的软件集成和更高的系统安全性与保密性
在具有微管理程序架构的MCU上实现不可阻挡的远程固件更新
微控制器实时操作系统实践—实时系统介绍
![<b class='flag-5'>微控制器</b><b class='flag-5'>实时</b>操作系统实践—<b class='flag-5'>实时</b>系统介绍](https://file1.elecfans.com/web2/M00/89/CC/wKgZomSK196AKi0vAAEfERN_tXE147.jpg)
具有连接管理器TRM的TMS320F2838x实时微控制器
![具有<b class='flag-5'>连接管理器</b>TRM的TMS320F2838x<b class='flag-5'>实时</b><b class='flag-5'>微控制器</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
评论