Nucleus 操作系统

17 Mar 2025 | 6 分钟阅读

本文将介绍Nucleus 操作系统及其历史、组件特性

什么是 Nucleus 操作系统?

Nucleus Operating System

Nucleus 是由 Mentor Graphics Embedded Software Division(西门子旗下公司)开发的一款实时操作系统 (RTOS),支持 32 位64 位嵌入式系统平台。Nucleus 操作系统 (OS) 主要用于医疗、航空航天、工业、消费品和物联网 (IoT) 应用的实时嵌入式系统。Nucleus OS 最初于 1993 年推出。最新版本 3.x 提供了多种特性,包括 64 位支持、安全认证、电源管理和进程模型。它还支持异构计算多核片上系统 (SOCs) 处理器。

Nucleus OS 进程模型使用空间域分区,在具有 内存保护单元 (MPU) 或内存管理单元 (MMU) 的 SOC 上隔离任务和模块,例如基于 ARMv7/8Cortex-A/R/M 核心的芯片。

Nucleus 操作系统历史

Nucleus 1.x 于 1993 年由 Accelerated Technology (ATI)Nucleus PLUS 的名称首次推出。它很快成为嵌入式领域中最常用的实时操作系统。在早期成功之后,ATI 推出了网络、图形和文件系统功能,这进一步增加了其采用率。

Mentor Graphics2002 年 3 月收购了 ATI,随后推出了第二代 Nucleus OS。Nucleus 2.x 版本于 2003 年发布,提高了其对各种架构和工具集的适应性。还增加了新的功能,包括 IPv6、闪存文件系统和 USB 2.0。Mentor 的 EDGE 开发工具取代了之前的 Codelab 调试器。这些工具包括编译器工具、调试器、模拟器和性能分析器。

2010 年Mentor Graphics 发布了第三代 Nucleus OS。Nucleus 操作系统 3.x 版本主要面向高性能数字信号处理器 (DSP)、微处理器单元 (MPU)、现场可编程门阵列 (FPGA) 和微控制器单元 (MCU)。Nucleus OS 主要设计用于能够缩小到 10 KB 的代码和数据内存大小,以支持内存资源有限的设备。

Nucleus OS 3.x 版本支持对称多处理 (SMP) 和非对称多处理 (AMP),并且还支持受监督的 sAMP 和无监督的 uAMP。以下是 Nucleus 3.x 的其他更改:

  1. 内存分区进程模型支持应用程序模块的动态加载和卸载。可加载进程适用于具有或不具有硬件内存管理的高端 MPU 和低端 MCU。
  2. AMP 设计中可使用 Mentor 嵌入式多核框架进行 IPC 和处理器生命周期控制。
  3. 集成电源管理支持内核和中间件组件,包括对滴答抑制、DVFS、睡眠模式和休眠的支持。
  4. 提供物联网协议。
  5. 支持 ARM Trustzone。

随着 Nucleus OS 3.x 版本新增的功能,Nucleus 将其商业策略从按需付费(a la carte)转变为统一套餐。

Mentor2010 年 12 月收购了 CodeSourcery,旨在用 Sourcery CodeBench 取代 EDGE 开发工具。Sourcery CodeBench 包括一个编译器工具链、跟踪工具和一个调试器。GNU 工具链是编译器工具链的基础,Eclipse 是调试器和集成开发环境 (IDE) 的基础。

Nucleus OS 3.x 提供了一个统一的构建和配置机制,允许将内核指定在单个文件中并构建为单个库。结合 CodeBench 的基于用户界面的配置工具,为用户提供了图形化的可配置组件,以便在构建时更改内核,类似于 Linux 中的 menuconfig。Nucleus 配置系统允许用户自定义其架构支持、工具链和构建参数。

Nucleus 操作系统支持的平台

Nucleus OS 支持各种嵌入式处理器,例如 ARMv7 Cortex-A、RM 设备。Nucleus OS 的最新版本包括对 ARMv8 64 位设备的支持。Nucleus OS 官方网站提供了支持设备的完整列表。它包括可定制设备、32 位 MCU 和 MPU,以及多核 32 位和 64 位处理器。

Nucleus 操作系统组件

Nucleus 操作系统有各种组件。Nucleus 操作系统的主要组件如下:

1. 文件系统

与 Windows 和类 Unix OS 不同,Nucleus OS 在执行任务时不需要文件系统。尽管如此,Nucleus 提供了多种文件系统,用于需要本地存储的复杂工作负载,包括 SAFE、FAT 和 LWEXT。

2. 网络

Nucleus 网络堆栈同时支持 IPv4 和 IPv6,支持超过 60 种网络协议。Nucleus OS 网络堆栈支持 POSIX,并包含一个简单的基于套接字的应用程序接口。它还支持各种协议,包括互联网控制消息协议 (ICMP)、以太网点对点协议 (PPPoE)、安全外壳 (SSH)、简单网络管理协议 (SNMP)、点对点协议 (PPP)、文件传输协议 (FTP) 等。

3. UI 图形

Nucleus OS 3.x 版本支持 OpenGL 和最流行的第三方 UI 库。Nucleus OS 支持用于调试和跟踪的 Qt 用户界面框架,该框架已进行代码优化并集成到 CodeBench 中。Embedded Wizard 和 Socionext CGI Studio 是此 OS 支持的另外两个 UI。

4. 安全性

Nucleus OS 提供各种加密选项,用于安全交互,以保护数据(无论是静态数据还是传输中的数据)。Nucleus OS 随附 OpenSSL 和 wolfSSL(以前称为 CyaSSL),后者是一个类似于 OpenSSL 的软件包,比 OpenSSL 更小,适用于需要加密但内存容量有限的设计。各种安全协议用于保护传输中的数据,包括 SSH、DTLS、IPsec/IKE、TLS 和 SSL。

5. 工业

Nucleus 已与行业领先的第三方工业堆栈集成。KoenigPa EtherCAT、Softing EtherNet/IP 和 OPC 统一架构主机和客户端提供了对工业堆栈的支持。

6. 安全认证

Nucleus SafetyCert 已通过 IEC 62304、DO-178C、IEC 61508 和 ISO 26262 的最高安全标准认证。

7. 多核

Nucleus 操作系统支持不对称多处理 (AMP) 和对称多处理 (SMP) 模式,适用于领先的 32 位和 64 位异构多核 SoC。Nucleus OS 还可以作为 GOS 与 Mentor Embedded Hypervisor 一起运行。

在 AMP 模式下,Nucleus 操作系统可以与其他运行在不同 CPU 上的 Nucleus、Linux 和裸机程序共存。在此配置中,每个 CPU 在 SoC 中充当独立系统。Mentor Embedded Multicore Framework 提供跨多个核心 OS 的进程间通信和处理器生命周期管理。SMP 操作包括由一个 Nucleus RTOS 实例同时管理多个核心。Nucleus OS 可以将其操作分布在多核设备的所有核心或部分核心上。它提供运行时 API 支持,用于绑定计算域、控制任务和中断亲和性以进行核心分配。

8. 连接性

Nucleus 可以通过各种接口与设备通信,包括 PCI、Secure Digital (SDIO)、SPI、PCI-X 和 PCIe、QSPI、USB 2.0 和 3.0、Function、USB Host 和 On-The-Go (OTG) 堆栈。

9. 物联网和云

Nucleus RTOS 解决方案支持行业标准的云和物联网技术。Nucleus RTOS 产品还支持嵌入式物联网框架以及用于安全物联网架构的多云解决方案。

10. 服务

Siemens Embedded 提供多种专业服务,以协助客户在其环境中实施 Nucleus 操作系统产品,例如 SoC、开发板支持包、移植到新处理器以及客户特定硬件。

Nucleus 操作系统特性

Nucleus OS 有各种特性。Nucleus OS 的一些特性:

  1. 支持 USB 2.0 和 3.0。
  2. 提供 SAFE、LWEXT 和 FAT 文件系统软件。
  3. 包含一个基于 Eclipse IDE 的集成开发工具。
  4. 提供网络和数据安全。
  5. 它是一个确定性内核,内存占用小。
  6. 包含内存分区进程模型,以增强产品在有或没有 MMU 的情况下的可靠性。