RTEMS
This article needs additional citations for verification. (May 2014) (Learn how and when to remove this template message) |
| Developer | OAR Corporation |
|---|---|
| Written in | C |
| OS family | Real-time operating system |
| Working state | Current |
| Source model | Open source |
| Latest release | 4.11 / November 16, 2016 |
| Latest preview | Git head |
| Marketing target | Embedded systems |
| Platforms | ARM, Blackfin, ColdFire, TI C3x/C4x, H8/300, x86, 68k, LatticeMico32, MIPS, Nios II, PowerPC, SuperH, SPARC, ERC32, LEON, Mongoose-V |
| License | Modified GPL |
| Official website | www |
Real-Time Executive for Multiprocessor Systems (RTEMS), formerly Real-Time Executive for Missile Systems, and then Real-Time Executive for Military Systems, is a real-time operating system (RTOS) designed for embedded systems. It is free open-source software.
Development began in the late 1980s with early versions available via ftp as early as 1993. OAR Corporation is currently managing the RTEMS project in cooperation with a steering committee which includes user representatives.
Design[edit]
RTEMS is designed for real-time, embedded systems and to support various open API standards including POSIX and µITRON. The API now known as the Classic RTEMS API was originally based upon the Real-Time Executive Interface Definition (RTEID) specification. RTEMS includes a port of the FreeBSD TCP/IP stack as well as support for various filesystems including NFS and the FAT filesystem.
RTEMS does not provide any form of memory management or processes. In POSIX terminology, it implements a single process, multithreaded environment. This is reflected in the fact that RTEMS provides nearly all POSIX services other than those which are related to memory mapping, process forking, or shared memory. RTEMS closely corresponds to POSIX Profile 52 which is "single process, threads, filesystem".[1]
Architectures[edit]
RTEMS has been ported to various target processor architectures:
- ARM
- Atmel AVR
- Blackfin
- Freescale ColdFire
- Texas Instruments – C3x/C4x DSPs
- Intel – x86 architecture members 80386, Pentium, and above
- LatticeMico32
- 68k
- MIPS
- Nios II
- PowerPC
- Renesas – H8/300, M32C, M32R, SuperH
- RISCV RV32, RV64 using QEMU
- SPARC – ERC32, LEON, V9
Uses[edit]
RTEMS is used in many application domains. The Experimental Physics and Industrial Control System (EPICS) community includes multiple people who are active RTEMS submitters. RTEMS is also popular for space uses since it supports multiple microprocessors developed for use in space including SPARC, ERC32 and LEON, MIPS Mongoose-V, Coldfire, and PowerPC architectures, which are available in space hardened models. RTEMS is currently orbiting Mars as part of the Electra software radio on NASA's Mars Reconnaissance Orbiter,[2] and the ESA's Trace Gas Orbiter.[3]
License[edit]
RTEMS is distributed under a modified GNU General Public License (GPL), allowing linking RTEMS objects with other files without needing the full executable to be covered by the GPL. This license is based on the GNAT Modified General Public License with the language modified to not be specific to the Ada programming language.
See also[edit]
References[edit]
- ^ "Open Group pilots embedded real-time POSIX conformance testing". Archived from the original on 2013-01-03.
- ^ "Real Time Mars Approach Navigation aided by the Mars Network" (PDF). NASA. Archived from the original (PDF) on 2006-09-30. Retrieved 2008-01-25.
- ^ "NASA radio on Europe's new Mars Orbiter aces relay test". Retrieved 2016-12-01.
External links[edit]
| Wikibooks has a book on the topic of: RTEMS for Embedded Software Developers |