The RTEMS Project

What is RTEMS? RTEMS is an open source Real Time Operating System (RTOS) that supports open standard application programming interfaces (API) such as POSIX. RTEMS stands for Real-Time Executive for Multiprocessor Systems. It is used in space flight, medical, networking and many more embedded devices. RTEMS currently supports 18 processor architectures and approximately 200 Board support packages.

Supported by the community

Need help? Our strong community of users and developers are always around to answer questions

Find us
Flexible deployment options

Choose how you deploy RTEMS within your company or organisation

Deploy
Open Development

We host our own GitLab, Mailing lists and you can find us on Discord

Engage with the Project
You are in control

The entire RTEMS development cycle is public with all source. Long term maintenance is made easy and reliable.

See how
30 years

RTEMS has been an open source project for 30 years. Long term support. Long term availability.

Development site
Build where you need

RTEMS actively maintains a working toolchain for Windows, Linux, OS X and FreeBSD

See our toolchain

Features

RTEMS comes with a complete set of features to help you with your application.

Kernel

  • Multitasking capabilities
  • Homogeneous and heterogeneous multiprocessor systems
  • Event-driven, priority-based pre-emptive scheduling
  • Optional rate-monotonic scheduling
  • Intertask communication and synchronization
  • Priority inheritance
  • Responsive interrupt management
  • Dynamic memory allocation
  • High level of user configurability
  • Portable to many target environments

API

  • POSIX 1003.1b API including threads
  • RTEID/ORKID based Classic API (similar to pSOS+) from the VMEbus Industry Trade Association.
  • TCP/IP including BSD Sockets
  • uITRON 3.0 API
  • GNU Toolset Supports Multiple Language Standards
  • ISO/ANSI C
  • ISO/ANSI C++ including Standard Template Library
  • Ada with GNAT/RTEMS

Networking

  • High performance port of FreeBSD TCP/IP stack
  • UDP
  • ICMP
  • TCP
  • DHCP
  • RARP
  • BOOTP
  • PPP

Device Driver

  • Block Device Cache
  • Device Only File System
  • ATA Block Driver

File System

  • In-memory Filesystem (IMFS)
  • Mini-IMFS (reduced services and footprint)
  • Device File System (lowest memory Filesystem, devices only)
  • MS-DOS FAT32
  • MS-DOS FAT16
  • MS-DOS FAT12
  • RTEMS File System (RFS)
  • TFTP client Filesystem
  • NFS client

Block Devices

  • ATA Disk Drives
  • RAM Disk
  • Volatile Disk
  • Flash Disk
  • SPI SD Card

Debugging

  • GNU debugger (gdb)
  • DDD GUI interface to gdb
  • Thread aware
  • Debug over Ethernet
  • Debug over serial port

Clients

  • Domain Name Service (DNS) client
  • Trivial FTP (TFTP) client
  • Network Filesystem System (NFS) client

Servers

  • FTP server (FTPD)
  • Web Server (HTTPD)
  • Telnet Server (Telnetd)
  • Sun Remote Procedure Call (RPC)
  • Sun eXternal Data Representation (XDR)
  • CORBA
  • PPPD

Latest News

RTEMS DevKitPro/LibOGC Copying Of Code Without Attribution

  • May 6, 2025
  • The Real-Time Executive for Multiprocessor Systems (RTEMS) Project maintainers were informed in January 2025 about a potential concern that source code was lifted by the devkitPro/libOGC project from the RTEMS project without appropriate attribution. We took the concern seriously as we consider copying any code without following licenses and respecting copyright in any form is important in the open source community. The github link: https://github.com/derek57/libogc was shared with us. We reviewed the upstream code comparing it with historical versions of RTEMS and came to the conclusion that sufficient evidence exists pointing to a systematic effort to copy source code from RTEMS (roughly version 4.5 to 4.6) with removal of attribution and licensing information. During the investigation, we also found that the devkitPro/libOGC project has lifted some code from the Linux kernel with minimal transformation. For example, the spinlock implementation is copied directly from Linux circa 2.4 or 2.6 release series. It is also possible that other projects have had code reused in a way that violates their license.

    We are saddened to see the effect this is having on the videogame homebrew community. RTEMS is open source and this means RTEMS can be copied and used as long as the license conditions are met and copyright is maintained. We are at a loss why there has been removal of license details and copyright and a general disregard to apply appropriate attributions. As a result the RTEMS license and copyright holders reserve their rights in relation to the copying of RTEMS code.

    RTEMS is a widely-used real-time operating system (RTOS) and we have approached those involved with copyright and license issues for their input. Our priority was, and still is, to avoid having this unnecessary copyright infringement becoming something that detracts too much from the RTEMS Project mission. Our goal now is to provide education on how the behavior engaged in by the devkitPro/libOGC project is a very good example of what not to do.

    More news...