Software:RTEMS

From HandWiki
RTEMS
DeveloperOAR Corporation
Written inC
OS familyReal-time operating system
Working stateCurrent
Source modelOpen source
Initial release1993; 33 years ago (1993)
|Final release|Latest release}}6.1 / January 22, 2025; 13 months ago (2025-01-22)[1]
Repositorygitlab.rtems.org/groups/rtems/
Marketing targetEmbedded systems
Available inEnglish
PlatformsARM, Blackfin, ColdFire, TI C3x/C4x, H8/300, x86, 68k, LatticeMico32, Microblaze, MIPS Nios II, OpenRISC, PowerPC, SuperH, SPARC (ERC32, LEON), SPARC64
Kernel typeReal-time
Default user interfaceCommand-line
LicenseBSD 2 Paragraph
Official websitewww.rtems.org

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 and open-source software.

Development began in the late 1980s[2] with early versions available via File Transfer Protocol (ftp) as early as 1993. OAR Corporation managed the RTEMS project in cooperation with a steering committee until the early 2000's when project management evolved into a subset of the core developers managing the project. In 2014, hosting was moved from OAR Corporation to the Open Source Lab at Oregon State University.

Design

RTEMS is designed for real-time embedded systems and to support various open application programming interface (API) standards including Portable Operating System Interface (POSIX) and μITRON (dropped in RTEMS 4.10).[3] The API known as the Classic RTEMS API was originally based on the Real-Time Executive Interface Definition (RTEID) specification. RTEMS includes a port of the FreeBSD Internet protocol suite (TCP/IP stack) and support for various file systems including Network File System (NFS) and File Allocation Table (FAT).

RTEMS provides extensive multi-processing and memory-management services.[4]

Architectures

RTEMS has been ported to various target processor architectures:

Uses

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, 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,[5] and the ESA's Trace Gas Orbiter.,[6] as well as passing by the sun on the Parker Solar Probe.

License

RTEMS components are currently licensed under a mixture of licenses including a GPL-2.0[7] derived license with the project working on trying to re-license original components to the project under the two paragraph BSD license.[8][9]

RTEMS was originally 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 programming language Ada.

See also

References

  1. "RTEMS 5.3 Released". RTEMS Software Engineering Project. 2023-02-10. https://www.rtems.org/node/135. 
  2. Hughes, Wanda M.; Acuf, Phillip R. (August 1990). "Real Time Executive for Missile Systems (RTEMS)" (PDF). Technology Showcase. Huntsville, Alabama: U.S. Army Missile Command Research Development, and Engineering Center. p. 259. https://apps.dtic.mil/sti/pdfs/ADA247043.pdf. Retrieved 2026-01-04. 
  3. "7.1.1.1. Legacy Test Suites". RTEMS Software Engineering Project. https://docs.rtems.org/docs/main/eng/test-suites.html#legacy-test-suites. 
  4. "RTEMS Documentation Project". RTEMS Software Engineering Project. https://docs.rtems.org/. 
  5. "Real Time Mars Approach Navigation aided by the Mars Network". National Aeronautics and Space Administration. http://trs-new.jpl.nasa.gov/dspace/bitstream/2014/39788/1/06-0474.pdf. 
  6. "NASA radio on Europe's new Mars Orbiter aces relay test". http://phys.org/news/2016-11-nasa-radio-europe-mars-orbiter.html. 
  7. "LICENSE.md · main · RTEMS / RTOS / RTEMS · GitLab" (in en). RTEMS Software Engineering Project. https://gitlab.rtems.org/rtems/rtos/rtems/-/blob/main/LICENSE.md. 
  8. "Change RTEMS License to Two Paragraph BSD (#3053) · Issues · RTEMS / RTOS / RTEMS · GitLab" (in en). RTEMS Software Engineering Project. https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3053. 
  9. Sherrill, Joel (2025-02-05). "Joel Sherrill's avatar cpukit/rtems/src/[a-r*.c: Change license to BSD-2"]. RTEMS Software Engineering Project. https://gitlab.rtems.org/rtems/rtos/rtems/-/blob/main/cpukit/rtems/src/msgqbroadcast.c.