编译自embedded.com
近三分之二的嵌入式系统都要使用实时操作系统 (RTOS),而在32位系统中,这一比例更是高得多。事实上,目前市场上有超过100种商业和开源RTOS可供选择,包括VxWorks、PX5、EmbOS、SafeRTOS等商业RTOS,以及Eclipse ThreadX、FreeRTOS、NuttX、Zephyr等开源RTOS。
尽管存在如此多的选择,似乎不太可能有一个RTOS能够成为整个行业的统一标准。然而,Zephyr RTOS的采用和开发最近呈现出爆炸性增长,它有可能在未来占据主导地位。
Zephyr 的基础
Zephyr RTOS是一款专为资源受限的嵌入式系统设计的开源操作系统。它起源于20世纪90年代,由Eonic Systems为数字信号处理器开发的Virtuoso RTOS。2001年,风河系统公司收购了Eonic,并在2015年将该RTOS更名为“Rocket”。2016年,风河系统将Rocket内核贡献给了Linux基金会,该内核随后成为了Zephyr项目的核心。自那以后,Zephyr得到了包括英特尔、恩智浦和Nordic等众多行业利益相关者的支持,并发展成为一个协作项目。
对 Zephyr 的滚雪球式支持
Zephyr旨在为IoT设备提供可扩展且安全的开发环境,它提供了实时功能、连接性和模块化的安全特性。尽管它的使命与其他开源RTOS相似,但Zephyr的快速发展已经引起了业界的广泛关注。Zephyr项目网站显示,它拥有最大的活跃社区、最多的贡献者和最多的代码提交,这反映了其在各种应用中的广泛适应性,包括可穿戴设备、智能家电和汽车系统。
Zephyr 解决了哪些挑战?
Zephyr提供了一系列的优势,包括:
活跃的社区和发展:一个活跃的社区可以快速响应技术问题和挑战。
LTS版本:提供长期稳定性,这对于需要长期运行的系统至关重要。
安全性:在设计时就考虑到安全性,这对于IoT设备尤为重要。
便携性和兼容性:支持多种架构和开发板,使得Zephyr可以在多种设备上运行。
低进入门槛:即使是新手也能快速上手。
Zephyr的易用性特别值得一提,它支持广泛的架构和开发板,使得即使是没有太多经验的开发者也能在很短的时间内启动并运行Zephyr。Zephyr的易用性为非嵌入式领域的开发人员打开了大门,特别是那些熟悉Linux的开发者,他们可以更容易地参与到嵌入式项目中。
经常被忽视的问题
尽管Zephyr的入门非常简单,但深入了解和定制Zephyr可能会面临一些挑战。Zephyr的构建系统是紧密耦合的,这意味着使用不同版本的GCC或商业编译器可能会遇到困难。此外,对于那些习惯于使用cmake等其他开发工具的开发者,Zephyr的构建系统可能需要额外的学习和适应,这可能会导致挫败感和额外的时间投入。
在底层,Zephyr使用Linux设备树,这可能对嵌入式软件开发人员来说是一个陌生的概念。它的规则和行为可能看起来违反直觉,可能会让一些开发者感到沮丧。尽管Zephyr的启动和运行相对容易,但其学习曲线可能相当陡峭。
结语
虽然Zephyr具有许多优势,但我们不太可能看到有一个单一的RTOS能够统治整个嵌入式领域。每个RTOS都有其独特的优点和缺点,以及解决特定问题的能力。商业RTOS提供了更高水平的质量、支持和认证,这对于安全关键型的应用来说是非常重要的。而开源RTOS,如Zephyr,提供了较低的进入门槛和成本,这对于没有严格质量或安全需求的一般产品来说是非常合适的。
Zephyr的增长和普及并不令人意外,随着越来越多的产品变得智能化和联网,使用一个针对这些联网设备优化的操作系统是有意义的。尽管Zephyr并非没有问题,但它确实在深度嵌入式开发和Linux嵌入式开发之间架起了一座桥梁。在当前嵌入式开发人才短缺的情况下,Zephyr可能会有助于吸引更广泛的开发人员群体进入嵌入式行业。