Version 41 (modified by Aanjhan, on Oct 25, 2009 at 2:27:20 AM) (diff)

/* Purpose */

RTEMS Workout at FOSS.IN

This is the standard workout proposal template provided by the FOSS.IN team.


Aanjhan Ranganathan and Santosh G. Vattam.

Aanjhan Ranganathan is a Masters Student at Ecole Polytechnique Federale de Lausanne(EPFL), Lausanne, Switzerland. He worked on RTEMS as part of Google Summer of Code 2009. His project was MMU Support for RTEMS and he was mentored by Thomas Doerfler. He has been a part of FOSS.IN since 2005 and presented a talk at FOSS.IN last year as well.

Santosh G. Vattam worked on RTEMS Testing as part of Google Summer of Code 2009. His project was Coverage Analysis for RTEMS and he was mentored by Joel Sherrill. He has been a part of FOSS.IN since 2008.


RTEMS (Real­Time Executive for Multiprocessor Systems) is a free real­time operating system designed for deeply embedded systems. It is a free and open source solution that supports multi processor systems and has been ported to over a dozen CPU architectures and includes support for over 100 embedded boards. RTEMS is designed to support applications with the most stringent real time requirements while being compatible with open standards such as POSIX. it includes optional functional features such as TCP/IP and various file systems while still offering minimum executable sizes under 20 KB in useful configurations. RTEMS is used in a wide variety of application domains including space (NASA and ESA), physics research, communications and industrial control as well as in general computer science research projects.

With such mission critical application and with RTEMS version 4.10 release very much in vicinity, testing is of highest priority. The major part of this workout proposal is related to Code Coverage Improvement and also getting a nice UI based coverage analysis tool functioning for RTEMS.

The ultimate goal of Google Summer of Code 2009 projects were to get integrated into the source tree for 4.10 release with additional improvements. This forms the secondary part of this workout proposal.




  • Programming Language: C
  • Basic bash Shell scripting
  • Interest and high motivation to work on embedded systems (both with arch/board simulators and real boards)
  • Loads of patience (for debugging, debugging embedded systems is not trivial).

Links to overall design/architecture

# Most documentation is available in Online Docs # RTEMS University - Presentations on Introduction, Getting Started etc.

Pre-event Preparation

  • Install and configure a Virtual Machine. Virtual Machine images will be provided.
  • If VM is not preferred by the participant then one can build the RTEMS toolchain and then build RTEMS.
  • Run the custom "Hello World" program to confirm your build is fine.
  • Read basic design docs of RTEMS.


  • Getting MMU support code from GSOC project cleaned up, add more features as listed on "Future work" section of the GSOC report
  • Improving code coverage with libcsupport included. We shall be focusing on the following BSPs:
    • pc386
    • uC5282

since these BSPs work on Free simulators that have coverage enabled and the reports can be generated on the spot quickly.

  • Some basic UI stuff - E.g.: Some improvements to Roxana's work.
  • Clean ups and documentation.
  • Fixing easy/medium bugs chosen from the RTEMS Bugzilla.
  • Writing a UI in python for Coverage analysis.

Existing work

Vattam worked on Coverage Analysis as part of GSoC 2009 and he has worked mostly on the SPARC architecture for sis, erc32, smdk2410 and gumstix BSPs. 100% coverage was achieved on almost all of these BSPs. Coverage analysis was performed on the score, posix, rtems, and sapi under the cpukit directory of the RTEMS tree. At this work out we intend to include the libcsupport code and also work on other BSPs.

Getting in touch

  • RTEMS Users Mailing list
  • Internet Relay Chat #rtems @
  • Individuals for FOSS.IN Workout aanjhan at gmail dot com and vattam dot santosh at @ gmail dot com


  • Aanjhan Ranganathan
  • Madhusudhan C S
  • Santosh Vattam
  • [add your name here]