物联网被视为中国五大新兴战略性产业之一,近几年已经步入快速发展的快车道,产品种类层出不穷,产业规模不断壮大,来自前瞻产业研究院的数据显示,到2021年物联网市场规模接近5.6万亿元。正是如此巨大的发展潜力,物联网市场吸引了越来越多创业者涌入,他们急需一款轻体量、模块化、高灵活性的物联网操作系统加速产品开发。Zephyr物联网操作系统就是在这样的大背景下推出的,经过两年多的发展,Zephyr操作系统在开源社区的贡献下进行了多次版本迭代更新,功能更加完善。
近期Zephyr推出了v1.12.0版本,相对于v1.11.0增加了诸多增强功能,对Zephyr的每次更新,开发者们都异常兴奋,Zephyr功能的每一次完善都离不开社区的贡献,离不开开发者们的关注,为了让工程师们更好地使用Zephyr进行开发,今天我们就对新版本和上一版本进行对比,让工程师们更清楚v1.12.0版本的内容更新,方便以后的开发设计。
首先,v1.12.0的主要改变包括重新写了内核调度程序,现在转移到多个后端数据结构中,可以是默认的“哑列表”,也可以是基于红/黑树的可扩展优先级队列,该队列可以保持任意数量的线程性能。在可用优先级数量从32增加至40亿的同时,默认使调度程序代码压缩了1-200字节,存储空间缩小了256字节。新代码包括一个新的"Meta IRQ" 优先级,一个高优先级线程,保证甚至可以抢占合作用户线程---这有助于在驱动程序层对于中断底部的操作处理,以及初步支持EDF“截止日期”调度模式。
v1.11.0版本发布之前,Zephyr的设计师们就充分意识到嵌入式开发者对Microsoft Windows的依赖和信任,因此,在过去的几个版本中开始建立对Windows的支持,v1.11版本成为第一个可以完全在微软平台上构建的版本。对称多处理(也称做SMP)可用于Tensilica Xtensa构架,允许程序内核同时在多个CPU内核上运行;v1.12.0版本在原来的基础上,通过OpenAMP集成实现非对称多处理(AMP),同时支持多个并发文件系统设备、分区和FS类型。
其次,v1.11.0版本引入了Thread协议,开发者将流行的OpenThread执行集成到Zephyr中,以便用户使用熟悉的Zephyr网络API无缝地与Thread网络交互,并可重复使用现有的802.15.4驱动程序;V1.12.0版本支持802.1Q - 以太网上的虚拟局域网(VLAN)流量,并且以太网网络管理界面,以每个连接为基础的网络流量优先级,支持以太网统计计数器。
再有,v1.11.0版本针对PS352(实时控制器产品标准)文件配置的IEEE POSIX支持接近完成,已包含大部分API;V1.12.0版本在本地POSIX端口上支持TAP网络设备,运行时非易失性配置数据存储系统(设置),支持命令行Zephyr元工具“west”,支持SPI从属。
最后,v1.11.0版本添加了一个受欢迎的功能:使用蓝牙低功耗设备进行空中固件升级(OTA DFU);v1.12.0版本为包括Mesh在内的蓝牙低功耗提供持续存储支持。
感谢工程师们在社区的贡献,正是大家源源不断地付出才有了更好的v1.12.0版本,欢迎更多开发者下载并使用Zephyr v1.12.0操作系统。
关于Zephyr
Zephyr 项目是一款小型且可扩展的操作系统,尤其适用于资源受限的硬件系统,可支持多种架构;该系统高度开源,对于开发人员社区完全开放,开发人员可根据需要对该系统进行二次开发,以支持最新硬件、工具和设备驱动程序;该系统高度模块化平台,可轻松集成任何架构的第三方库和嵌入式设备。