其实,目前市场上还没有一款操作系统可以适合所有不同类型的嵌入式应用,尽管有一些非常接近。嵌入式系统多种多样,范围从简单的8位MCU到高度复杂的64位多核CPU。在大多数嵌入式操作系统的内核中,都会有一个实时操作系统(RTOS),这是管理CPU时序和其他资源的软件。此外,一些操作系统会提供额外的模块来处理通信协议、数据存储、用户接口等。下图为一些流行的嵌入式RTOS的CPU支持情况。到目前为止,在中国非常受欢迎的RTOS是来自Micrium(现被Silicon Labs收购)的μC/OS-II(OS2)和μC/OS-III(OS3)。这些RTOS在非商业应用中可以免费使用,但对于商业用途则需要获得授权。OS2和OS3可以覆盖市场上几乎所有的CPU,这是一个相当理想的特性,因为它有助于保护你在软件方面的投资,你的应用可以很容易地从一种处理器架构迁移到另一种处理器架构上。 流行的RTOS的CPU支持情况
如果你的应用需要的是RTOS在多任务处理和资源共享方面的功能,那么FreeRTOS这款受欢迎的开源RTOS可能是另一种不错的选择。同样地,如果你使用Cortex-M处理器,ARM会提供免费的RTX。然而,如果你正在设计一款商业产品,强烈推荐你使用一种商业RTOS而非一种开源解决方案。
Micrium的RTOS很容易理解,事实上,关于这些RTOS内部构成的书籍已经被撰写并翻译成中文版本,如下图所示。
在中国最受欢迎的嵌入式操作系统 现在,物联网是一个非常热门的话题,它取决于你正在谈论哪方面的内容。如果你正在设计一个叶子节点,那么很可能你将需要某种形式的无线连接。有许多协议可供选择,不过大多数嵌入式操作系统提供商并不直接提供无线协议栈,你可能得借助半导体制造商来提供这些解决方案。事实证明,只有极少数供应商可以提供无线芯片和软件的完整组合。 不过,Silicon Labs可提供IoT解决方案和无线连接,能够提供如下协议的完整解决方案:Bluetooth、Bluetooth Mesh、ZigBee、Thread、WiFi、专有协议(即定制协议)。事实上,这些协议已经预集成在Silicon Labs的EFR32多协议Wireless Gecko SoC系列产品中。这些芯片不仅包含无线协议,而且集成了Micrium的嵌入式操作系统。这使得可以相对容易地增加产品的功能,而无需担心无线技术的复杂性。 越来越多的应用需要同时使用多种无线协议,并且为了降低成本,需要同一颗芯片同时支持这些协议。例如,你可能希望你的客户使用Bluetooth去配置一个ZigBee和Thread设备。一旦配置成功,继续同时运行两种协议栈是可行的。Bluetooth仍然可以作为一个信标设备向路人提供关于你的设备可提供的增值特性的额外信息。这对于电子货架标签、餐馆、加油站或其他类似应用都将非常有用。
另一个方面是云连接。你的嵌入式设备将很可能是一个更大联网设备网络的一部分,连接到亚马逊网络服务、微软Azure云、IBM Bluemix或其他平台将不再是问题,嵌入式操作系统供应商正在越来越多地提供云连接器及其协议栈来支持这些服务。 当然,IoT解决方案供应商必须提供一些功能来确保这些设备是安全、可靠且现场可升级的。设计人员需要在开发周期的早期考虑安全因素,而不是在事后。客户越来越多地要求我们提供完整的、端到端的解决方案。现在这是可以的,因为作为Silicon Labs的一部分,我们不仅可以提供带有额外模块和云连接功能的嵌入式操作系统,而且可以提供完整的无线MCU和协议栈,让工程师将精力更多地集中在产品设计的独特性方面。 对于物联网设备开发,操作系统该如何选择?
商业嵌入式操作系统起源于20世纪70年代末80年代初,经历了4个发展阶段:RTOS kernel、RTOS、通用操作系统嵌入式化(如嵌入式Linux和嵌入式Windows)和以Android为代表的面向应用的嵌入式操作系统。关于嵌入式操作系统的发展史,在《嵌入式操作系统风云录》中有更加详细的阐述。
|