Nucleus RTOS

Last updated
Nucleus RTOS
Developer Mentor Graphics Corp., a Siemens Business
Written in C
OS family POSIX, TRON
Working stateCurrent
Source model Closed source
Initial release1993;31 years ago (1993)
Latest release 3.x, 2017.02 / May 15, 2017;6 years ago (2017-05-15)
Marketing target Embedded systems, IoT
Available in English
Platforms ARM, NXP, MIPS, TI, PowerPC, Altera Nios II, Xilinx MicroBlaze, Renesas SuperH, Infineon, Atmel AT91SAM, RISC-V, others [1]
Kernel type Real-time monolithic with hybrid support
License Proprietary
Official website Nucleus website

Nucleus RTOS is a real-time operating system (RTOS) produced by the Embedded Software Division of Mentor Graphics, a Siemens Business, supporting 32- and 64-bit embedded system platforms. The operating system (OS) is designed for real-time embedded systems for medical, industrial, consumer, aerospace, and Internet of things (IoT) uses. Nucleus was released first in 1993. The latest version is 3.x, and includes features such as power management, process model, 64-bit support, safety certification, and support for heterogeneous computing multi-core system on a chip (SOCs) processors.

Contents

Nucleus process model adds space domain partitioning for task and module isolation on SOCs with either a memory management unit (MMU) or memory protection unit (MPU), such as those based on ARMv7/8 Cortex-A/R/M cores.

Supported platforms

Nucleus supports many embedded processors including leading ARMv7 Cortex A, R, and M devices. Recent releases support ARMv8 64-bit devices. The official website has a full list of supported devices. [2] It includes 32-bit MCUs and MPUs, configurable devices, and 32-bit and 64-bit multi-core processors.

History

Nucleus 1.x was released first in 1993 by Accelerated Technology (ATI) as Nucleus PLUS. It soon became one of the most commonly used RTOSs in the embedded market. Following its early success there, ATI added support for networking, graphics, and file systems, which accelerated adoption.

Mentor Graphics acquired ATI in March 2002, which was soon followed by the second generation of Nucleus RTOS. Version 2.x was released in 2003, improving its portability across different architectures and tool sets. New components like IPv6, Flash memory file system and Universal Serial Bus (USB) 2.0 were added. Mentor replaced the legacy Codelab debugger with EDGE development tools which included compiler tools, debugger, simulator, and profiler.

Mentor Graphics introduced the 3rd generation Nucleus in 2010. Version 3.x was intended for both high-end microprocessor units (MPUs), microcontroller units (MCUs), digital signal processors (DSPs), and field-programmable gate arrays (FPGAs). For devices with limited memory resources, Nucleus was designed to scale down to a memory size of <10 kilobytes (KBs) for both code and data.

Nucleus 3.x introduced support for symmetric multiprocessing (SMP) and asymmetric multiprocessing (AMP) both unsupervised uAMP and supervised sAMP (using Mentor Embedded Hypervisor). Other additions in Nucleus 3.x:

In addition to the new features in version 3.x, Nucleus moved business model from a la carte, to one unified package.

Mentor acquired CodeSourcery in Dec 2010 to replace the EDGE development tools with the Sourcery CodeBench. Sourcery CodeBench comprises a compiler tool-chain, debugger, and trace analysis tools. The compiler tool-chain is based on GNU tool-chain. The debugger and integrated development environment (IDE) are based on Eclipse. Sourcery CodeBench supports ARM, IA-32, MIPS, and PPC architectures with built-in workflows and OS awareness for Nucleus RTOS and Mentor Embedded Linux.

Nucleus 3.x introduced a unified build and configuration system with which the Kernel is configured through a single file and builds as a single library. Like menuconfig in Linux, a user interface (UI) based configuration tool integrated with CodeBench provides the user with graphically selectable components to customize the kernel at build time. The Nucleus configuration system allows for user customization to integrate new tool-chains, architecture support and build properties.

Major components

Nucleus RTOS components include:

  1. Kernel
  2. Services
  3. Connectivity
  4. File system
  5. Networking
  6. IoT Framework
  7. Wireless
  8. Security
  9. UI & graphics

Kernel

Services

Connectivity

Nucleus supports the ability to connect to other devices through various interfaces including:

File system

Unlike Windows and Unix-like operating systems, Nucleus does not need a file system to work. However, for complex uses needing local storage, Nucleus supports several file systems including FAT, SAFE (fault tolerant), and LWEXT.

Multiple simultaneous file systems

  • File Allocation Table (FAT)
  • SAFE (high reliability power fail safe)
  • LWEXT
  • Install-able third-party file systems

Multiple media support

  • CD-ROM
  • Hard drive
  • RAM disk
  • NOR and NAND flash
  • USB drive
  • SD MMC

Nucleus provides support for different file systems and storage media through a virtual file system application programming interface (API) that allows access to the supported file systems and storage devices using the same functions calls regardless of the underlying storage format.

Networking

The Nucleus networking stack is a dual IPv4 and IPv6 stack that supports over 60 networking protocols. Nucleus networking stack supports POSIX and provides an easy to use socket based application interface. A brief list of the supported protocols include:

Security

Nucleus supports a wide variety of encryption options for secure communications to protect data at rest or in transit. Nucleus ships with OpenSSL and an OpenSSL-like package wolfSSL (formerly CyaSSL) that is far smaller than OpenSSL for designs needing encryption but limited in memory capacity. [3] Security protocols to protect data in transit include IPsec/IKE, SSH/SSL/TLS/DTLS. Encryption includes DES, 3DES, AES, SHA-256. Public-key cryptography algorithms include RSA. Support includes X.509, RADIUS, and 802.1X.

Wireless

Several Wi-Fi modules from different chip-makers like QCA, Broadcom, TI, and CSR are supported:

UI graphics

Nucleus 3.x supports OpenGL and leading 3rd party UI libraries. Nucleus supports the Qt UI framework which has been optimized for code size and integrated into CodeBench for debugging and tracing. Other UIs supported include Embedded Wizard and Socionext CGI Studio.

IoT

Recent releases of Nucleus include support for HTTPS, Constrained Application Protocol (CoAP), MQTT and 6LoWPAN.

Nucleus has also announced support for Microsoft Azure cloud computing framework.

Industrial

Nucleus has been integrated with 3rd party industrial stacks from industry leaders. Industrial stack support includes OPC Unified Architecture (OPC UA) host and client and EtherNet/IP from Softing Archived 2017-08-22 at the Wayback Machine and EtherCAT from KoenigPa.

Multi-core

Nucleus supports asymmetric multiprocessing (AMP) mode and symmetric multiprocessing (SMP) mode for leading 32 and 64-bit heterogeneous multi-core SoCs. Nucleus is also capable of running as a GOS with Mentor Embedded Hypervisor.

When operating in AMP mode, Nucleus RTOS can coexist with other instances of Nucleus, Linux, and/or bare machine (metal) programs distributed on the other processors. In this mode, each processor is running independently and behaves as a separate system within the SoC. Mentor Embedded Multicore Framework provides interprocess communication between operating systems on the various cores, and processor life cycle management. SMP operation entails having a instantiation of Nucleus RTOS manage multiple cores simultaneously. Nucleus can distribute its operations across all cores on a multi-core device, or any subset of cores. For this purpose Nucleus offers runtime API support for bound computation domain, and control tasks and interrupt affinities for core assignment.

Product packages

Nucleus RTOS is packaged as follows:

Safety certification

Nucleus SafetyCert has been certified for the highest levels of safety for DO-178C, IEC 61508, IEC 62304, and ISO 26262.

Products using Nucleus RTOS

Example devices using Nucleus products include:

See also

Related Research Articles

<span class="mw-page-title-main">Embedded system</span> Computer system with a dedicated function

An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is embedded as part of a complete device often including electrical or electronic hardware and mechanical parts. Because an embedded system typically controls physical operations of the machine that it is embedded within, it often has real-time computing constraints. Embedded systems control many devices in common use. In 2009, it was estimated that ninety-eight percent of all microprocessors manufactured were used in embedded systems.

<span class="mw-page-title-main">QNX</span> Real-time operating system (RTOS) software

QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market.

<span class="mw-page-title-main">VxWorks</span> Real-time operating system

VxWorks is a real-time operating system developed as proprietary software by Wind River Systems, a subsidiary of Aptiv. First released in 1987, VxWorks is designed for use in embedded systems requiring real-time, deterministic performance and in many cases, safety and security certification for industries such as aerospace, defense, medical devices, industrial equipment, robotics, energy, transportation, network infrastructure, automotive, and consumer electronics.

<span class="mw-page-title-main">Mentor Graphics</span> Electronic design automation company

Mentor Graphics Corporation was a US-based electronic design automation (EDA) multinational corporation for electrical engineering and electronics, headquartered in Wilsonville, Oregon. Founded in 1981, the company distributed products that assist in electronic design automation, simulation tools for analog mixed-signal design, VPN solutions, and fluid dynamics and heat transfer tools. The company leveraged Apollo Computer workstations to differentiate itself within the computer-aided engineering (CAE) market with its software and hardware.

<span class="mw-page-title-main">Embedded operating system</span> Type of computer operating system

An Embedded Operating System (EOS) is an operating system designed specifically for embedded computer systems. These systems aim to enhance functionality and reliability to perform dedicated tasks. When the multitasking method employed allows for timely task execution, such an OS may qualify as a real-time operating system (RTOS).

Enea AB is a global information technology company with its headquarters in Kista, Sweden that provides real-time operating systems and consulting services. Enea, which is an abbreviation of Engmans Elektronik Aktiebolag, also produces the OSE operating system.

<span class="mw-page-title-main">XNU</span> Computer operating system kernel

XNU is the computer operating system (OS) kernel developed at Apple Inc. since December 1996 for use in the Mac OS X operating system and released as free and open-source software as part of the Darwin OS, which in addition to macOS is also the basis for the Apple TV Software, iOS, iPadOS, watchOS, visionOS, and tvOS OSes.

Eclipse ThreadX is a highly deterministic, embedded real-time operating system (RTOS) programmed mostly in the language C.

<span class="mw-page-title-main">PikeOS</span> Real-time operating system

PikeOS is a commercial hard real-time operating system (RTOS) which features a separation kernel-based hypervisor. This hypervisor supports multiple logical partition types for various operating systems (OS) and applications, each referred to as a GuestOS. PikeOS is designed to facilitate the development of certifiable smart devices for the Internet of Things (IoT) by adhering to high standards of quality, safety, and security across different industries. In instances where memory management units (MMU) are not present but memory protection units (MPU) are available on controller-based systems, PikeOS for MPU is designed for critical real-time applications and provides up-to-standard safety and security.

TI-RTOS is an embedded tools ecosystem created and offered by Texas Instruments (TI) for use across a range of their embedded system processors. It includes a real-time operating system (RTOS) component named TI-RTOS Kernel, networking connectivity stacks, power management, file systems, instrumentation, and inter-processor communications like DSP/BIOS Link. It is free and open-source software, released under a BSD license.

<span class="mw-page-title-main">ELinOS</span>

ELinOS is a commercial development environment for embedded Linux. It consists of a Linux distribution for the target embedded system and development tools for a development host computer. The development host computer usually is a standard desktop computer running Linux or Windows. The Linux system and the application software for the target device are both created on the development host.

BeRTOS is a real-time operating system designed for embedded systems.

MQX is a real-time operating system (RTOS) developed by Precise Software Technologies, Inc., and currently sold by Synopsys, Embedded Access, Inc., and NXP Semiconductors.

<span class="mw-page-title-main">T-Kernel</span> Open-source RTOS tailored for 32-bit microcontrollers

T-Kernel is an open source real-time operating system (RTOS) designed for 32-bit microcontrollers. It is standardized by the T-Engine Forum, which distributes it under a T-License agreement. There is also a corresponding Micro T-Kernel (μT-Kernel) implementation designed for embedded systems with 16-bit or 8-bit microcontrollers.

Mbed is a development platform and operating system for internet-connected devices based on 32-bit ARM Cortex-M microcontrollers. The project is collaboratively developed by Arm and its technology partners.

<span class="mw-page-title-main">RIOT (operating system)</span> Real-time operating system

RIOT is a small operating system for networked, memory-constrained systems with a focus on low-power wireless Internet of things (IoT) devices. It is open-source software, released under the GNU Lesser General Public License (LGPL).

<span class="mw-page-title-main">RTX (operating system)</span> Real-time operating system by IntervalZero

RTX / RTX64 are real-time operating system (RTOS) by the firm IntervalZero. They are software extensions that convert Microsoft Windows operating system into a RTOS. It was the first Windows real-time solution on the market.

<span class="mw-page-title-main">Zephyr (operating system)</span> Real-time operating system

Zephyr is a small real-time operating system (RTOS) for connected, resource-constrained and embedded devices supporting multiple architectures and released under the Apache License 2.0. Zephyr includes a kernel, and all components and libraries, device drivers, protocol stacks, file systems, and firmware updates, needed to develop full application software.

PX5 RTOS is a real-time operating system (RTOS) designed for embedded systems. It is implemented using the ANSI C programming language.

References

  1. "Nucleus OS Supported Processors". www.mentor.com.
  2. "Nucleus RTOS Supported Processors". www.mentor.com. Retrieved 2017-08-22.
  3. "wolfSSL User Manual – Chapter 5: Portability – Documentation" . Retrieved 2019-02-14.
  4. Voica, Alexandru. "MIPS in space: Inside NASA's New Horizons mission to Pluto". Imagination. Archived from the original on 2015-10-17. Retrieved 2015-10-16.
  5. "IVL Technologies". ivl.com.
  6. "ASC". nsgdata.com. Archived from the original on 2006-06-15. Retrieved 2006-06-17.
  7. "TI-Nspire Technical Details - ticalc.org". www.ticalc.org.
  8. "Telephonics - Surveillance, Communications, Analysis and Integrated Solutions leader". www.telephonics.com.
  9. "Control Systems for Home Automation, Campus & Building Control by Crestron Electronics". www.crestron.com.
  10. "Soundweb London - BSS Networked Audio Systems". BSS Networked Audio Systems.
  11. "Все о глазах и зрении - офтальмологический форум" (PDF). s75.siemens-club.org. Archived from the original (PDF) on 2007-02-05. Retrieved 2012-05-12.
  12. "The evolution of the Apple iPhone and its many CPU's – Even within a model - The CPU Shack Museum". cpushack.com. 13 August 2010.
  13. http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140crt/140crt951.pdf [ bare URL PDF ]
  14. Samsung Electronics' strategy to compete in the 'bada' is..., Bloter, 2009.11.18, https://www.bloter.net/news/articleView.html?idxno=7334