GSoC/GCI Archive
Google Summer of Code 2014

RTEMS Project

License: New and Simplified BSD licenses

Web Page: http://www.rtems.org/wiki/index.php/Open_Projects

Mailing List: http://www.rtems.org/mailman/listinfo/rtems-devel

RTEMS (Real-Time Executive for Multiprocessor Systems) is a free real-time operating system (RTOS) designed for deeply embedded systems such as automobile electronics, robotic controllers, and on-board satellite instruments. Such systems are not the familiar general-purpose PCs and Macs, but instead are pre-programmed to perform a narrow range of functions with minimal end user or operator intervention. Often these functions require strict timing requirements, or the physical device imposes size, weight, and power (SWaP) restrictions on the embedded computer. Such timing and SWaP constraints make programming embedded systems different than programming general-purpose systems, and motivate the development of RTOSs like RTEMS that ease programming in real-time/embedded systems. RTEMS is free open source software that supports multi-processor systems for over a dozen CPU architectures and over 150 specific system boards. In addition, RTEMS is designed to support embedded applications with the most stringent real-time requirements while being compatible with open standards such as POSIX. RTEMS includes optional functional features such as TCP/IP and file systems while still offering minimum executable sizes under 20 KB in useful configurations. The RTEMS Project is the collection of individuals, companies, universities, and research institutions that collectively maintain and enhance the RTEMS software base. As a community, we are proud to be popular in the space application software and experimental physics communities. RTEMS has been to Venus, circles Mars, is aboard Curiosity, is in the asteroid belt, and is on its way to Jupiter. It is in use in many high energy physics research labs around the world. There are many RTEMS users who do not belong to the space or physics communities, but our small part in contributing to basic scientific knowledge makes us proud.

Projects

  • GSoC 2014 Proposal Janek van Oirschot: porting LWIP 1.4.1 to RTEMS 4.11 The goal of this project is to port the most current stable LWIP (Lightweight Internet Protocol) release to the most current RTEMS development version. The current stable release of LWIP is 1.4.1 and the current RTEMS development version is 4.11.
  • Paravirtualization layer in RTEMS This project aims to finish the paravirtualization layer in RTEMS by design and develop a set of hypercall in the POK . The hypercall should match the interface of paravirtualization layer design in RTEMS.By design the hypercall in POK, the RTEMS will co-work well with POK.On the other hand, a completed hypercall will support the other virtualization especially I/O virtualization.
  • Porting RTEMS to OpenRISC This project aims to port RTEMS for OpenRISC architecture. Porting a famous open source RTOS software like RTEMS for a big open source hardware architecture such as OpenRISC would be of useful to both hw and sw communities. The new port would target a broad range of users and fields (hobbyists, digital designers, computer architecture, embedded systems, industrial applications, etc).
  • Raspberry Pi BSP Peripherals This proposal intends to improve the Raspberry Pi BSP support for peripherals, namely: GPIO driver, I2C and SPI Bus drivers and Frame Buffer graphics driver support. This will make RTEMS more appealing in one of the most available boards today: the Raspberry Pi.
  • RTEMS port to Cortex –R4 Objective of this project is to create RTEMS port for mikroprocesor core Cortex R4F. Microprocesor core Cortex R4F is designed for safety enhanced application which make it great choice for automotive and other safety critical application. My task would be to prepare RTEMS for running on the Cortex – R4 Ti Hercules family core. This will highly increase development and production speed of anyone using microprocessor of the mentioned family.