A program with real-time requirements will need a real-time operating system. With a standard operating system, there is no guarantee that time constraints of a program will be met. This is disastrous in an avionics system, when a delay in sensor data or recovery node commands may mean the parachute is not deployed in the 5 second apogee window.
RTOS Requirements:
- Hard real-time performance
- Fully open-source
- Small footprint
- Ported to several ARM processors
- Integrated debugging tools (GDB)
There were two RTOS that fit all requirements: eCos (http://ecos.sourceware.org/) and FreeRTOS (http://www.freertos.org/). PSAS members have more experience with eCos, so eCos was chosen.
eCos
eCos stands for "embedded Configurable operating system". eCos is configurable because you can choose which features you want to compile into your embedded operating system. This allows you to tweak your options if you don't have a lot of memory in your embedded system. For example, a programmer can choose to compile GDB stubs into their program and eCos. This is great for debugging, but can inflate the code size. After the person is done coding and wants to run the program out in the field, they can recompile eCos without GDB stubs to save memory.