|ARM Technical Support Knowledge Articles|
Applies to: uVision IDE
Information in this article applies to:
What is DO-178B?
DO-178B is a document published by the Radio Technical Commission for Aeronautics (RTCA). It is a guideline used to determine if software components of airborne equipment and systems are FAA airworthiness-compliant. Application programs are certified as a system. Any changes to any part of the application program code require re-certification of the entire program.
What does DO-178B guideline specify?
DO-178B specifies that each line of code is required and tested, and that no unused code exists in the application program build.
How do the Keil tools assist in DO-178B certification?
The Code Coverage feature of the Keil debugger shows statement and decision coverage at both the source and object code level. Code Coverage results may be logged and output using the µVision debug commands.
Does the Keil Library produce unused or "dead" code?
The Keil compiler and linker automatically warn you of unused functions or inaccessible code. Only those library functions that are called from the application program are included in the application program build. Your certification test procedure must insure that all possible arguments supplied to any library function used are tested.
Do I need library source code for DO-178B certification?
That depends on what level of compliance you want to achieve. The Keil tools provide the capability to attain DO-178B, Level C compliance. For levels higher than that you may or may not need library source code depending on how your test procedures are designed.
When should I start DO-178B compliance testing on my code?
Don't start testing until your product is completely debugged, tested and ready to release. Testing must be done to the entire product as a whole. If you happen to uncover a bug during certification testing, and have to change your code at all, the entire certification tests must be re-run to be compliant.
Article last edited on: 2007-03-27 11:11:32
Did you find this article helpful? Yes No
How can we improve this article?