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.]