Eclipse ThreadX
2024-04-08 21:32:26 阿炯

Azure RTOS 是一个实时操作系统 (RTOS),适用于由微控制器 (MCU) 提供支持的物联网 (IoT) 和边缘设备;它旨在支持高度受限设备(电池供电,并且闪存容量不到 64 KB)。是一个嵌入式开发套件,包含 ThreadX 实时操作系统。其提供 EAL4+ 通用准则安全认证环境,包括通过 IPsec 实现的全 IP 层安全性以及通过 TLS 和 DTLS 实现的套接字层安全性。其软件加密库已获得 FIPS 140-2 认证。 此外其还采用硬件加密功能、通过 ThreadX MODULES 实现的内存保护技术,以及 ARM TrustZone ARMv8-M 安全功能支持。


2024年4月微软宣布完成 Azure RTOS 的开源迁移并发布v6.4.1版本就开始采用MIT协议授权,同时更名为Eclipse ThreadX。


Eclipse ThreadX 还包括一些中间件组件,如 FileX、GUIX、NetX Duo 和 USBX,这些组件也可以独立于 RTOS 使用。这意味着开发者可以将这些组件与其他实时操作系统一起使用,甚至可以在没有 RTOS 的情况下使用。

ThreadX -eclipse-threadx/threadx at v6.4.1_rel
Netx Duo -eclipse-threadx/netxduo at v6.4.1_rel
FileX -eclipse-threadx/filex at v6.4.1_rel
LevelX -eclipse-threadx/levelx at v6.4.1_rel
USBX -eclipse-threadx/usbx at v6.4.1_rel
GUIX & GUIX Studio -eclipse-threadx/guix at v6.4.1_rel
TraceX -eclipse-threadx/tracex at v6.4.1_rel

组件

Azure RTOS 平台是运行时解决方案的集合,包括 Azure RTOS ThreadX、Azure RTOS NetX 和 NetX Duo、Azure RTOS FileX、Azure RTOS GUIX 和 Azure RTOS USBX。


Azure RTOS ThreadX
是专用于深度嵌入式应用程序的高级实时操作系统 (RTOS)。 Azure RTOS ThreadX 具有多种优势,其中包括高级调度设施、消息传递、中断管理和消息服务。 Azure RTOS ThreadX 具有许多高级功能,其中包括 picokernel 体系结构、抢占式阈值调度、事件链和一系列丰富的系统服务。

Azure RTOS FileX
是一个高性能的 FAT 兼容文件系统。此系统与 Azure RTOS ThreadX 完全集成,并且可用于所有支持的处理器。 与 Azure RTOS ThreadX 一样,Azure RTOS FileX 也采用占用空间小、性能高的设计,特别适用于现在需要执行文件操作的深度嵌入式应用程序。 Azure RTOS FileX 通过 Azure RTOS LevelX,支持大多数物理介质,包括 RAM 磁盘、USBX、SD 卡和 NAND/NOR 闪存。

Azure RTOS GUIX
是一个优质的专业图形用户界面包,专为满足嵌入式系统开发者需求而创建。与备用方案不同,Azure RTOS GUIX 体积小、速度快,并可轻松移植到几乎所有能够支持图形输出的硬件配置中。 此外它还可在应用程序级用户界面开发中增强界面的视觉吸引力,提供直观强大的 API。

Azure RTOS NetX
是 TCP/IP 协议标准的高性能实现。 此组件与 Azure RTOS ThreadX 完全集成,并且可用于所有支持的处理器。其具有独特的 Piconet 体系结构。 如果与零复制 API 结合使用,则特别适用于现在需要网络连接的深度嵌入式应用程序。

Azure RTOS NetX Duo
Azure RTOS NetX是一个高级的行业级 TCP/IP 网络堆栈,专用于深度嵌入式、实时及 IoT 应用程序。 Azure RTOS NetX Duo 是一个 IPv4 和 IPv6 双网络堆栈,而 NetX 是最初的 IPv4 网络堆栈,本质上是 Azure RTOS NetX Duo 的子集。

Azure RTOS USBX
是一个高性能 USB 主机、设备和移动 (OTG) 嵌入式堆栈。 此组件与 ThreadX 完全集成,并且可用于所有 Azure RTOS ThreadX 支持的处理器。 与 Azure RTOS ThreadX 一样,Azure RTOS USBX 也采用占用空间小、性能高的设计,特别适用于需要使用 USB 设备接口的深度嵌入式应用程序。

Windows 工具

Azure RTOS GUIX Studio 提供完整的 GUI 应用程序设计环境,便于创建和维护应用程序 GUI 中的所有图形元素。 Azure RTOS GUIX Studio 自动生成与 Azure RTOS GUIX 库兼容的 C 代码,可以在目标上编译并运行。

Azure RTOS TraceX 是基于主机的分析工具,可为开发者提供实时系统事件的图形视图,使其能够可视化和更好地了解其实时系统的行为。

与其他实时操作系统相比,Azure RTOS 具有以下优势。

1、部署次数最多的 RTOS
Azure RTOS 在全球部署超过 120 亿次。 Azure RTOS 的普及证明了它具有卓越的可靠性、质量、大小、性能、高级功能、易用性和总体上市时间。

2、优异的 API 设计
直观一致的 API。
名词-动词命名约定。
所有 API 都具有前导前缀,例如 ThreadX 的 _tx__ 和 FileX 的 _fx__,以便轻松识别它们所属的 Azure RTOS 组件。
所有 API 的功能一致性。 例如,所有挂起的 API 函数均具有可选超时,其功能完全一致。
许多 API 可以直接从应用程序 ISR 调用。
针对媒体和文件操作提供可选的用户通知回调。
事件驱动的编程模型 (API)。

3、高效的应用场景
代码需求量少。
基于所使用的服务的可缩放代码需求量。
快速执行。 Azure RTO 旨在提升速度,并具有最小的内部函数调用分层,有助于实现极快的性能。

4、最快上市时间
Azure RTOS 易于安装、学习、使用、调试、验证、认证和维护。 因此,Azure RTOS 是最受嵌入式 IoT 设备(包括 Broadcom、Gainspan 等众多 SoC)欢迎的实时操作系统之一。我们一贯的面市时间优势建立在以下基础之上:
提供完整的源代码。
易于使用的 API。
全面且高级的功能集。
高质量文档。

5、只需一份简单的许可证
使用和测试源代码无需任何费用,部署到预许可设备中时,亦无需生产许可证费用,所有其他设备仅需要一份许可证。

6、优质的完整源代码
多年来,Azure RTOS 源代码在质量和易于理解方面树立了标杆。 此外,Azure RTOS NetX 约定每个文件具有一个功能,正因为此,你可以轻松导览至源代码。

7、通过 TÜV 和 UL 的预认证,符合许多安全标准
根据 IEC-61508 SIL 4,Azure RTOS 已获得 SGS-TÜV Saar 认证,可用于安全关键系统。 该认证确认,Azure RTOS 可用于开发符合 IEC-61508 最高安全完整性级别的安全相关软件,用于“电气、电子和可编程电子安全相关系统的功能安全性”。 SGS-TUV Saar 由德国的 SGS-Group 和 TUV Saarland 合并而成,现已成为领先的经过资格验证的独立公司,专门为全球的安全相关系统测试、审核、验证和认证嵌入式软件。

Azure RTOS 已通过 UL 认证,符合面向可编程软件组件的 UL 60730-1 Annex H、CSA E60730-1 Annex H、IEC 60730-1 Annex H、UL 60335-1 Annex R、IEC 60335-1 Annex R 和 UL 1998 安全标准。 UL 是一家全球性、独立的安全科学公司。他们历史悠久并且拥有极其丰富的专业知识,从电力的公共应用到可持续发展的突破成就再到可再生能源和纳米技术,他们不断创新安全解决方案。

8、CRU UL 认证
与 TUV 和 UL 认证相关的项目(证书、安全手册和测试报告等)可用于许可。如果应用程序需要其他认证,则可以通过 Microsoft 获取认证服务,以便使用实际的硬件平台甚至应用程序代码一站式获得各种标准的认证。 有关认证服务的详细信息,请与我们联系。

9、EAL4+ 通用标准安全认证
Azure RTOS 已获得 EAL4+ 通用标准安全认证。 评估对象(Target of Evalution,TOE)包括 Azure RTOS ThreadX、Azure RTOS NetX Duo、Azure RTOS NetX Secure TLS 和 Azure RTOS NetX MQTT。 其代表了深度嵌入式传感器、设备、边缘路由器和网关所需的最典型物联网协议。

10、经过 FIPS 140-2 验证
Azure RTOS 加密库已获得联邦信息处理标准 140-2 (FIPS 140-2) 对软件的认证,该标准指定了对加密模块的要求。 FIPS 140-2 要求所有使用基于加密的安全性的联邦政府机构和部门满足与加密强度和功能相关的特定标准。 这些基于加密的安全标准在加拿大和欧盟中也受到认可。

用于 Azure RTOS 加密库的信息安全评估实验室是 atsec,认证机构是美国国家标准和技术机构 (NIST)。

11、支持最常用的体系结构
Azure RTOS 开箱即用,在最流行的 32/64 位微处理器上运行,已经过充分测试且完全受支持,其中包括诸多高级体系结构。

12、在 Azure IoT 上下文中
除了直接连接到 Azure IoT 或通过 Azure IoT Edge 间接连接以外,还可以在 Azure Sphere 设备上使用 Azure RTOS。 Azure RTOS 与 Azure Sphere 结合使用,可在一个设备中实现出类拔萃的实时处理能力和卓越的安全性。

关于ThreadX

是由 Express Logic 公司使用C语言开发的闭源实时操作系统。ThreadX的作者是Willian Lamie,他也曾是Nucleus的作者,目前是Express Logic公司的CEO。Express Logic公司位于美国加州圣地亚哥市。

ThreadX名字是由来有两个方面,线程(Thread)是操作系统的可执行单元,“X”表示上下文切换。ThreadX的线程共享同一内存空间,资源可共享。和许多其他实时操作系统类似,ThreadX是多任务系统,采用抢占式调度,快速的中断响应,独立内存管理,支持线程间通信,互斥,事件和线程同步。

其主要的特点是支持优先级继承,抢占阈值的设计,微内核设计,代码空间占用小等。ThreadX源代码采用免版税使用模式(royalty-free)。

ThreadX 通常应用在嵌入式操作系统中。大部分的开发工作在主机上完成,主机运行Windows或Linux系统,交叉编译器可以在主机上生成目标系统的机器码,然后下载到目标板上运行。

几种可以识别threadx系统(OS-aware)的开发工具,包括 Wind River Workbench,ARM RealView,GreenHills Software's MULTI, Metrowerks CodeWarrior, IAR C-SPY, Lauterbach TRACE32 和 visionCLICK。

ThreadX 支持的架构包括 ARM,X86, ARC, MIPS,Xtensa等等, 几乎涵盖所有主流CPU架构。

Azure RTOS产品介绍

最新版本:6
2023年11月,微软宣布 Azure RTOS 将在 Eclipse 基金会的管理下过渡到开源模式,Eclipse 基金会是托管开源物联网项目的公认领导者。2024年4月,微软宣布自2023年11月启动过渡计划以来,不断推进 Azure RTOS 的开源工作,对 Eclipse 基金会的贡献近期终于完成,并发布了 Eclipse ThreadX 6.4.1 版本。


2024年4月发布的 Eclipse ThreadX 6.4.1 版本(前身 Azure RTOS)和中间件组件采用 MIT 许可,其功能等同于 Azure RTOS 6.4,而后者正是已经部署在全球数十亿嵌入式系统上的优秀产品。



项目主页:
https://github.com/eclipse-threadx/

https://azure.microsoft.com/zh-cn/products/rtos