Nucleus Operating System
In this article, you will learn about the Nucleus Operating System with its history, components, and features.
What is Nucleus Operating System?
The Nucleus is an RTOS that was developed by Mentor Graphics Embedded Software Division, a Siemens Business that supports 32-bit and 64-bit embedded system platforms. The Nucleus operating system (OS) is mainly intended for use in real-time embedded systems in medical, aerospace, industrial, consumer, and Internet of things (IoT) applications. The Nucleus OS was initially introduced in 1993. The latest version, 3.x, offers various features, including 64-bit support, safety certification, power management, and a process model. It also supports heterogeneous computing multi-core systems on chip (SOCs) processors.
The Nucleus OS process model uses space domain partitioning to isolate tasks and modules on SOCs with a memory protection unit (MPU) or memory management unit (MMU), like those based on ARMv7/8 and Cortex-A/R/M cores.
History of Nucleus Operating System
Nucleus 1.x was firstly introduced in 1993 by Accelerated Technology (ATI) under the name Nucleus PLUS. It quickly became the most commonly used real-time OS in the embedded area. ATI introduced networking, graphics, and file system functionality after its early success, which increased adoption.
Mentor Graphics purchased ATI in March 2002, which was quickly followed by the second generation of Nucleus OS. The Nucleus version 2.x was published in 2003, increasing its adaptability to various architectures and toolkits. There were also new additions, including IPv6, the Flash memory file system, and USB 2.0. Mentor's EDGE development tools replaced the previous Codelab debugger. These included compiler tools, a debugger, a simulator, and a profiler.
In 2010, Mentor Graphics released the third-generation Nucleus OS. Nucleus operating system version 3.x was mainly designed for high-performance digital signal processors (DSPs), microprocessor units (MPUs), field-programmable gate arrays (FPGAs), and microcontroller units (MCUs). Nucleus OS was mainly created to scale down to a memory size of 10 KBs for both code and data for devices with limited memory resources.
Nucleus OS version 3.x supports symmetric multiprocessing (SMP) and asymmetric multiprocessing (AMP) and also supports both supervised sAMP and unsupervised uAMP. The following are further changes in Nucleus 3.x:
Along with the additional capabilities in Nucleus OS version 3.x, Nucleus changed its business strategy from a la carte to a unified package.
Mentor purchased CodeSourcery in December 2010, intending to replace the EDGE development tools with the Sourcery CodeBench. Sourcery CodeBench includes a compiler toolchain, tracing tools, and a debugger. The GNU toolchain serves as the foundation for the compiler toolchain, and eclipse is the foundation for the debugger and integrated development environment (IDE).
Nucleus OS 3.x provided a unified build and configuration mechanism that allows the kernel to be specified in a single file and built as a single library. A user interface (UI) based configuration tool combined with CodeBench offers the user graphically configurable components to change the kernel at build time, similar to menuconfig in Linux. The Nucleus configuration system allows users to customize their architecture support, toolchains, and build parameters.
Supported platforms of Nucleus operating system
Nucleus OS supports a wide range of embedded processors, such as ARMv7 Cortex-A, R, and M devices. The Nucleus OS's latest releases include support for ARMv8 64-bit devices. The Nucleus OS official sites provide a full of supported devices. It contains customizable devices, 32-bit MCUs and MPUs, and multi-core 32-bit and 64-bit processors.
Components of Nucleus operating system
There are various components of the Nucleus operating system. Some main components of the Nucleus operating system are as follows:
1. File System
Unlike Windows and Unix-like OS, Nucleus OS doesn't require a file system to perform a task. Although, Nucleus provides numerous file systems for complicated workloads that require local storage, including SAFE, FAT, and LWEXT.
The Nucleus networking stack is both IPv4 and IPv6 stack that supports more than 60 networking protocols. The Nucleus OS networking stack supports POSIX and contains a simple socket-based application interface. It also supports various protocols, including Internet Control Message Protocol (ICMP), Point-to-Point Protocol over Ethernet (PPPoE), Secure Shell (SSH), Simple Network Management Protocol (SNMP), Point-to-Point Protocol (PPP), File Transfer Protocol (FTP), etc.
3. UI graphics
Nucleus OS version 3.x supports OpenGL and the most popular third-party UI libraries. Nucleus OS supports the Qt user interface framework for debugging and tracing, which has been code-optimized and integrated into CodeBench. Embedded Wizard and Socionext CGI Studio are two other UIs that are supported by this OS.
The Nucleus OS offers various encryption choices for secure interactions to protect data, whether at rest or in transit. Nucleus OS comes with both OpenSSL and wolfSSL (previously CyaSSL), an OpenSSL-like package much smaller than OpenSSL for designs requiring encryption but with limited memory capacity. Various security protocols protect data in transit, including SSH, DTLS, IPsec/IKE, TLS, and SSL.
Nucleus has been integrated with industry-leading third-party industrial stacks. Support for the industrial stack is provided by KoenigPa EtherCAT, Softing EtherNet/IP, and OPC Unified Architecture host and client.
6. Safety Certification
The highest standards of safety for IEC 62304, DO-178C, IEC 61508, and ISO 26262 have been certified by Nucleus SafetyCert.
The Nucleus operating system supports both asymmetric multiprocessing (AMP) and symmetric multiprocessing (SMP) modes for leading 32 and 64-bit heterogeneous multi-core SoCs. Nucleus OS may also perform with Mentor Embedded Hypervisor as a GOS.
The Nucleus operating system may coexist with other Nucleus, Linux, and bare machine (metal) programs running on the different CPUs in AMP mode. In this configuration, each CPU works as an independent system within the SoC. Mentor Embedded Multicore Framework offers interprocess communication between OS on several cores and processor life cycle management. SMP operation includes having a Nucleus RTOS instantiation manage many cores simultaneously. Nucleus OS may distribute its operations across all or a subset of cores on a multi-core device. It provides runtime API support for bound computation domains, control tasks and interrupts affinities for core assignment.
The Nucleus may communicate with other devices using various interfaces, including PCI, Secure Digital (SDIO), SPI, PCI-X and PCIe, QSPI, USB 2.0 and 3.0, Function, USB Host, and On-The-Go (OTG) stacks.
9. IoT and Cloud
Nucleus RTOS solutions enable industry-standard cloud and Internet of Things technologies. Nucleus RTOS products also support the Embedded IoT Framework as well as a multi-cloud solution for secure IoT architecture.
Siemens Embedded provides several professional services to assist customers in implementing Nucleus operating system products in their environment, such as SoCs, developing board support packages, porting to new processors, and customer-specific hardware.
Features of Nucleus Operating System
There are various features of the Nucleus OS. Some features of the Nucleus OS.