Main Sections
This report describes the compliance of the QP/C Real-Time Embedded Framework as well as the Application code based on this framework with the Motor Industry Software Reliability Association (MISRA) Guidelines for the use of the C Language in Critical Systems [MISRA3], [MISRA3-A1], [MISRA3-A2]. This description is designed to be applicable to safety-related real-time embedded systems.
MISRA C was originally developed to fulfill the need for a “restricted subset of a standardized programming language” identified in the 1994 “Development guidelines for vehicle based software” and against the background of the emerging use of C for developing embedded software in automotive applications.
Once MISRA C was published its relevance to other applications was quickly noted and subsequent revisions of the document have involved a number of experts from different industries and from tool vendors.
Today MISRA C is the de facto standard for developing software in C where safety, security and code quality are important. Future developments of MISRA C will continue to extend support for newer versions of the language, and additional language features.
[MISRA3] | MISRA C:2012 Guidelines for the use of the C language in critical systems (3rd Edition, 1st Revision), ISBN 978-1-906400-21-7 (paperback), ISBN 978-1-906400-22-4 (PDF), MIRA Limited, February 2019 |
[MISRA3-A1] | MISRA C:2012 Amendment 1 (MISRA C:2012 AMD1) "Additional security guidelines for MISRA C:2012", MIRA Limited, April 2016. |
[MISRA3-A2] | MISRA C:2012 Amendment 2 (MISRA C:2012 AMD2) "Updates for ISO/IEC 9899:2011 Core functionality", MIRA Limited, February 2020 |
[MISRA3-Corr] | MISRA C:2012 Technical Corrigendum 1, Technical clarification of MISRA C:2012, ISBN 978-1-906400-17-0 (PDF), MIRA Limited, June 2017 |
[MISRA3-Comp] | MISRA Compliance:2020 Achieving compliance with MISRA Coding Guidelines, ISBN 978-1-906400-11-8 (PDF), MIRA Limited, February 2020 |
[PCLP] | Reference Manual for PC-lint® Plus™ Version 2.0, A diagnostic facility for C and C++, Vector Informatik |
[PCLP-Cert] | Using PCLP in Safety Critical Applications Version 2.0, Vector Informatik |
[BARR-C:2018] | BARR-C:2018 Embedded C Coding Standard, Michael Barr, ISBN-13: 978-1-72112-798-6, Barr Group 2018, (https://barrgroup.com/sites/default/files/barr_c_coding_standard_2018.pdf) |
[Saks-1998] | Dan Saks, "Programming Pointers - Placing const in Declarations", Embedded Systems Programming, June 1998, (https://www.dansaks.com/articles/1998-06%20Placing%20const%20in%20Declarations.pdf) |
[PSiCC2] | Practical UML Statecharts in C/C++, 2nd Edition, Event-Driven Programming for Embedded Systems, Miro Samek, ISBN 978-0750687065, Newnes 2008 (https://www.state-machine.com/psicc2) |