Nucleus RTOS
Developer | Mentor GraphicsCorp., aSiemensBusiness |
---|---|
Written in | C |
OS family | POSIX,TRON |
Working state | Current |
Source model | Closed source |
Initial release | 1993 |
Latest release | 3.x, 2017.02 / May 15, 2017 |
Marketing target | Embedded systems,IoT |
Available in | English |
Platforms | ARM,NXP,MIPS,TI,PowerPC,AlteraNios II,XilinxMicroBlaze,RenesasSuperH,Infineon,Atmel AT91SAM,RISC-V,others[1] |
Kerneltype | Real-timemicrokernelwith hybrid support |
License | Proprietary |
Official website | Nucleus website |
Nucleus RTOSis areal-time operating system(RTOS) produced by the Embedded Software Division ofMentor Graphics,aSiemensBusiness, supporting32-and64-bitembedded systemplatforms. Theoperating system(OS) is designed forreal-timeembedded systemsfor medical, industrial, consumer, aerospace, andInternet of things(IoT) uses. Nucleus was released first in 1993. The latest version is 3.x, and includes features such aspower management,process model, 64-bit support, safety certification, and support forheterogeneous computingmulti-coresystem on a chip(SOCs) processors.
Nucleus process model adds space domain partitioning for task and module isolation on SOCs with either amemory management unit(MMU) ormemory protection unit(MPU), such as those based on ARMv7/8 Cortex-A/R/M cores.
Supported platforms
[edit]Nucleus supports many embedded processors including leadingARMv7Cortex A, R, and M devices. Recent releases supportARMv864-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-bitmulti-core processors.
History
[edit]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 fornetworking,graphics,andfile systems,which accelerated adoption.
Mentor GraphicsacquiredATI 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 likeIPv6,Flash memoryfile system and Universal Serial Bus (USB) 2.0 were added. Mentor replaced the legacy Codelab debugger with EDGE development tools which includedcompilertools,debugger,simulator, andprofiler.
Mentor Graphics introduced the 3rd generation Nucleus in 2010. Version 3.x was intended for both high-endmicroprocessorunits (MPUs),microcontrollerunits (MCUs),digital signal processors(DSPs), andfield-programmable gate arrays(FPGAs). For devices with limited memory resources, Nucleus was designed to scale down to a memory size of <10kilobytes(KBs) for both code and data.
Nucleus 3.x introduced support forsymmetric multiprocessing(SMP) andasymmetric multiprocessing(AMP) both unsupervised uAMP and supervised sAMP (using Mentor EmbeddedHypervisor). Other additions in Nucleus 3.x:
- Integrated power management support forkernelandmiddlewarecomponents; includes support for DVFS, tick suppression, and sleep modes includinghibernation.
- Process model for memory partitioning to support dynamic loading and unloading of application modules. Loadable processes are supported on both high end MPUs and low end MCUs with or without hardware memory management support.
- Wireless support
- IoT protocols
- Safety certification for aerospace, medical, industrial and automotive
- Support for ARMTrustZone
- Mentor embedded multi-core framework for IPC and processor life cycle management for AMP designs (both supervised sAMP and unsupervised uAMP)
- Runtimetracing support with host side analysis tools
In addition to the new features in version 3.x, Nucleus movedbusiness modelfroma la carte,to one unified package.
Mentor acquired CodeSourcery in Dec 2010 to replace the EDGE development tools with the SourceryCodeBench.Sourcery CodeBench comprises a compiler tool-chain, debugger, and trace analysis tools. The compiler tool-chain is based on GNU tool-chain. The debugger andintegrated development environment(IDE) are based onEclipse.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. Likemenuconfigin Linux, auser 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
[edit]Nucleus RTOS components include:
- Kernel
- Services
- Connectivity
- File system
- Networking
- IoT Framework
- Wireless
- Security
- UI & graphics
Kernel
[edit]- Real-time kernel with priority based pre-emptive scheduling
- Support for dynamic linking using loadable modules
- Interfaces forC++,Portable Operating System Interface(POSIX), andThe Real-time Operating system Nucleus(TRON)microITRON
- SMP/AMP, supervised and unsupervised
- SMP support and runtime control for bound computation domain and affinities to processor cores for tasks and interrupts
- Support for 64-bit architectures
- Scalable to fit memory constrained devices
- Built-in power management framework
- Source codefor all components
Services
[edit]- Run-level initialization and registry
- POSIX: kernel, networking, and file system
- Shell and tracing
- Debug agent
- C++
- Power management services
Connectivity
[edit]Nucleus supports the ability to connect to other devices through various interfaces including:
- USB2.0 and 3.0
- USB Host, Function, andOn-The-Go(OTG) stacks
- Bluetoothwith many advanced profiles enabled (A2DP,AVRCP,HFP,HSP,etc.)
- Peripheral Component Interconnect(PCI),PCI-Xand PCIe
- Controller Area Network(CAN) andCANopen
- Secure Digital(SDIO)
- SPI, QSPI
- Inter-Integrated Circuit (I²C)
File system
[edit]Unlike Windows and Unix-like operating systems, Nucleus does not need afile systemto work. However, for complex uses needing local storage, Nucleus supports several file systems including FAT, SAFE (fault tolerant), and LWEXT.
Multiple simultaneous file systems
[edit]- File Allocation Table (FAT)
- SAFE (high reliability power fail safe)
- LWEXT
- Install-able third-party file systems
Multiple media support
[edit]- 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 systemapplication 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
[edit]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:
- Internet protocol suite(UDP, TCP/IP)
- Internet Control Message Protocol(ICMP),Dynamic Host Configuration Protocol(DHCP),network address translation(NAT)
- Point-to-Point Protocol(PPP) andPoint-to-Point Protocol over Ethernet(PPPoE)
- File Transfer Protocol(FTP),Telnet,Secure Shell(SSH)
- Simple Network Management Protocol(SNMP),Network Time Protocol(NTP)
- Hypertext Transfer Protocol(HTTP) andHTTPS
- JSON-XML,WebSockets
Security
[edit]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 packagewolfSSL(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 cryptographyalgorithms include RSA. Support includes X.509, RADIUS, and 802.1X.
Wireless
[edit]SeveralWi-Fimodules from different chip-makers like QCA, Broadcom, TI, and CSR are supported:
- IEEE 802.11a/b/g/n
- IEEE 802.15.4
- Bluetooth, Bluetooth LE
UI graphics
[edit]Nucleus 3.x supportsOpenGLand leading 3rd party UI libraries. Nucleus supports theQtUI framework which has been optimized for code size and integrated into CodeBench for debugging and tracing. Other UIs supported includeEmbedded WizardandSocionext CGI Studio.
IoT
[edit]Recent releases of Nucleus include support for HTTPS,Constrained Application Protocol(CoAP),MQTTand6LoWPAN.
Nucleus has also announced support for Microsoft Azure cloud computing framework.
Industrial
[edit]Nucleus has been integrated with 3rd party industrial stacks from industry leaders. Industrial stack support includesOPC Unified Architecture(OPC UA) host and client andEtherNet/IPfromSoftingArchived2017-08-22 at theWayback MachineandEtherCATfromKoenigPa.
Multi-core
[edit]Nucleus supportsasymmetric multiprocessing(AMP) mode andsymmetric 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/orbare 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
[edit]Nucleus RTOS is packaged as follows:
- Nucleus ReadyStart Edition ReadyStart which includes theruntime system,middleware,BSP (all in source code) and the IDE, debugger, compiling tools, trace bundle in a single package. Nucleus Ready Start comes in versions packaged for ARM, MIPS and PPC. Nucleus ReadyStart adds specialized eclipse plugins to CodeBench to provide simplified build and configuration workflows and debugging enhancements including kernel awareness, loadable module support, tracing and profiling tools.
- Nucleus Source Code Edition contains the runtime system and middleware packaged to support unique architectures and/or different tool chains
Safety certification
[edit]Nucleus SafetyCert has been certified for the highest levels of safety forDO-178C,IEC 61508,IEC 62304,andISO 26262.
Products using Nucleus RTOS
[edit]Example devices using Nucleus products include:
- New Horizons,interplanetary space probe[4]
- Honeywellfor Critical Terrain Awareness Technology in the aviation industry[citation needed]
- IVL Technologies' On-Key KaraokeHandheldPlayer uses Nucleus PLUS[5]
- Logitechuses it in itsPocket VideoPortable Digital Video Cameras[citation needed]
- SK Telecom's first commercialization ofcode-division multiple access(CDMA) technology in Korea[citation needed]
- MediatekDual SIM Dual processor based chipsets found on most Chinese phones[citation needed]
- NECHigh DefinitionMobileHandset[citation needed]
- ASC's RBOX Multi-Service Aggregator Family uses Nucleus PLUS[6]
- TI-Nspire serieshandheldcalculatorsuse Nucleus as the basis of theiroperating system[7]
- Telephonics uses it in the USAF C-130 Avionics Modernization Program, SDI System, and the 767 Tanker Program, Aviation Communication System[8]
- Garmin Internationalto develop the CNX80 navigationalGlobal Positioning System(GPS) for general aviation[citation needed]
- A large number of Motorola, Samsung, LG, Siemens/Benq, Sagem and NEC mobile phones[citation needed]
- The S-Class UI on LG Arena, New Chocolate etc.[citation needed]
- Intellon Home Plug AV[citation needed]
- Crestron Electronics on their older 2-series control system processors[9]
- BSS Audioin theirSoundweb Londonrange.[10]
- Later versions ofCreative ZENproduct line[citation needed]
- TheInfineonS-Gold2 chipset used inSiemensphones: S75, E71, M81, etc.[11]
- TheInfineonS-Gold2 baseband chip used inApple'siPhone[12]
- The Metrotech i5000Utility LocatingReceiver[citation needed]
- The Creative Zen Vision line[citation needed]
- Intel Active Management Technology,vProembedded controller[citation needed]
- TandbergMXP video & telephony appliances[13]
- Datex-Ohmeda Avance anesthesia system[citation needed]
- Zoll Medical Corporation defibrillators[citation needed]
- Samsungbadaplatform based devices[14]
- Mindray early patient monitor, ultrasound device, and hematology analyzer[citation needed]
See also
[edit]References
[edit]- ^"Nucleus OS Supported Processors".www.mentor.com.
- ^"Nucleus RTOS Supported Processors".www.mentor.com.Retrieved2017-08-22.
- ^"wolfSSL User Manual – Chapter 5: Portability – Documentation".Retrieved2019-02-14.
- ^Voica, Alexandru."MIPS in space: Inside NASA's New Horizons mission to Pluto".Imagination.Archived fromthe originalon 2015-10-17.Retrieved2015-10-16.
- ^"IVL Technologies".ivl.com.
- ^"ASC".nsgdata.com.Archived fromthe originalon 2006-06-15.Retrieved2006-06-17.
- ^"TI-Nspire Technical Details - ticalc.org".www.ticalc.org.
- ^"Telephonics - Surveillance, Communications, Analysis and Integrated Solutions leader".www.telephonics.com.
- ^"Control Systems for Home Automation, Campus & Building Control by Crestron Electronics".www.crestron.com.
- ^"Soundweb London - BSS Networked Audio Systems".BSS Networked Audio Systems.
- ^"Все о глазах и зрении - офтальмологический форум"(PDF).s75.siemens-club.org.Archived fromthe original(PDF)on 2007-02-05.Retrieved2012-05-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.
- ^http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140crt/140crt951.pdf[bare URL PDF]
- ^Samsung Electronics' strategy to compete in the 'bada' is..., Bloter, 2009.11.18,https://www.bloter.net/news/articleView.html?idxno=7334