Selecting an Embedded RTOS – Use the Source!

The Gift of Open Source

When someone – like John Carbone – has been doing embedded software for three and a half decades, it can be good to consider what they have to say – in this case, about RTOS source code:

…developers feel that source code is important. But why is RTOS source code so important? There are several reasons why developers value having source code, and each of them is important…

John goes on to list several extremely good reasons to insist on choosing an RTOS with available source code — including stepping through during debugging, product longevity, the use of compile-time options, and qualification of SOUP in safety-critical systems.

To his list, I’d add the ability to evaluate – and run – the RTOS’s unit tests, write our own for application-critical portions of the API, and to run our own static analyzers and linting tools on the OS.

Not content with the “why” of RTOS source code, John then tackles the “what” and the “how” — specifically, the sorts of qualities we should look for when evaluating the source. Is it clean, clear, commented, consistent and correct? Certainly, evaluating these attributes is a must-do for any medical, aerospace or similar safety-critical system — but from a defect-prevention perspective, they’re good for everyone to consider.

Hats off to John Carbone for an excellent piece on RTOSes and their selection – this is one to bookmark!

[Cross-posted with permission.]

About the Author:

David Rea is an AppliedLogix senior engineer and partner. He serves as the firm's engineering practice leader for Fuel Cell and Energy applications. He holds degrees in Electrical Engineering (BS) and Software Engineering (MS) from the Rochester Institute of Technology.

Leave a Reply