RTEMS is a real-time operating system, meant to be used in applications that need high-precision task scheduling, such as the NASA's recent Parker Solar Probe, which included RTEMS within its software stack.

RTEMS currently only supports specific embeddable microprocessors which are hard to acquire before a project's scope is determined, or only legacy off-the-shelf hardware such as the i386 architecture, which greatly increases the barrier to entry.

This proposal aims to create a new RTEMS port and board support package (BSP) which will run on the more modern x86-64 architecture, which is much more commonly available in consumer hardware, and is at the same time magnitudes more capable than other architectures.

The BSP aims to include UEFI booting, basic APIC support for interrupts, the APIC timer for clock driver support, UART consoles for COM1 ports, and ACPI support for symmetric multiprocessing if possible. This forms a basis for future integration with RTEMS' existing libbsd codebase to enable TCP/IP, USB, SD, support.

The x86_64-rtems-tools have been tested with a stub port and patched up as needed in prep for this port, leaving the port as the primary focus for the program.

Organization

Student

Amaan Cheval

Mentors

  • Joel Sherrill
  • Hesham Almatary
  • Chris Johns
close

2018