嵌入式开发:为什么物联网正在吞噬嵌入式操作系统?
在过去几年的嵌入式开发中,独立嵌入式软件市场的两大基石已被物联网公司完全吞噬。第一个FreeRTOS被亚马逊吞并,以支持其亚马逊Web服务(AWS)云平台的物联网开发,Express Logic被微软吞并,用于其竞争对手Azure云服务。
许多分析师对这些收购的目的发表了评论。简短的总结是,这些庞然大物正在将其范围从云扩展到通过云收集和分发数据的边缘设备。这似乎是一个简单的想法,但真的那么简单吗?
什么时候RTOS不仅仅是一个操作系统,为什么这很重要?
首先,让我们看看我们所了解的交易的基本情况。亚马逊购买了一个没有中间件的RTOS(FreeRTOS)。文件系统、网络、USB等的软件支持通常由第三方提供。另一方面,微软收购了一家RTOS公司(Express Logic),该公司还拥有大量的中间件。因此,一旦我们超越了对边缘设备的控制,这两项投资可能会有截然不同的策略。
RTOS很重要,但不再特别——对于95%的嵌入式应用程序来说,在嵌入式开发中,RTOS的选择并不重要。随着微控制器性能的提高以及编译器技术的进步,上下文切换时间的微小改进会对应用程序产生重大影响的日子早已消失,而且有许多RTOS“做得足够好”。
然而,在构建物联网设备时,中间件可以在两个方面提供帮助。首先,它可以提供到云的通信接口,这显然是亚马逊和微软战略的关键要素。第二,它可以提供控制软件的核心模块,以实现你的物联网设备的构建目的,例如将传感器数据记录到存储设备。
控制器标准化是关键吗?
因此,对于物联网设备,关键是微控制器上的外围设备。MCU逃脱标准化并非偶然——每年都有数千种新的变体发布。也许核心架构的变化较小,但功能的变化越来越大(考虑到技术不断进步的速度,正如你所预期的那样)。由于不断努力以更少的成本获得更多,这些设备的复杂性不断增加:更多的CPU周期、更多的带宽、更多的功能、更多的安全性、更少的功率、更少的成本、更少的空间等等。
在嵌入式开发中,由于嵌入式设备对成本极为敏感,一旦数量增加,标准解决方案往往会被更便宜的解决方案所取代,这可能是物联网巨头想要涉足的市场。
已经有人尝试将MCU外围软件接口标准化,但结果并不明确。例如,ARM开发了CMSIS作为标准软件接口,但这仅限于某些ARM架构。其他架构(如RISC-V)会发生什么?
AWS或Azure能否通过利用其新资产实现标准化?当然,他们有足够的银行存款来做任何他们想做的事情,但如果你不知道未来的嵌入式设备会是什么样子,或者下一个需要云连接的杀手级应用程序会是什么样,那么开发一个能够控制所有边缘设备的解决方案并不是一件容易的事情。
如果亚马逊和微软确实创建了完整的嵌入式平台,这是否意味着设备开发人员在开始设计设备时就必须选择云服务提供商?或者会有两个开放的规范允许他们在部署时进行选择?前者是限制性的;后者让你想知道他们为什么这么做。在嵌入式开发中,也许只是为了更容易地创造出能为他们带来收入的设备。这似乎是一场巨大的赌博,但如果考虑到这些商业机会的规模,可能不会。
安全性,这是一个值得一读的话题,它与任何联网设备的开发紧密相连。减轻物联网设备开发者的安全负担将是一个巨大的帮助——设备开发者可以重新专注于他们所知道和喜爱的东西。但安全方面的银弹尚未找到。
下一步是什么?
如果亚马逊(Amazon)和微软(Microsoft)这样的巨头正在追求标准化,那么你必须问:还有什么在发挥作用?控制编译器是下一层,其次是硅本身。这可能只是一个更大趋势的开始。
与此同时,处于新产品规划阶段的开发人员,以及那些必须继续支持和发展现有产品的嵌入式开发人员现在有新的不确定性需要解决。