Introduction
Designed with Micriµm’s renowned quality, scalability and reliability, the purpose of µC/CPU is to provide a clean, organized ANSI C implementation of each processor’s/ compiler’s hardware-dependent.
Coding Standards
Coding standards have been established early in the design of µC/CPU and include:
- C coding style
- Naming convention for #define constants, macros, variables and functions
- Commenting
- Directory structure
MISRA C
The source code for µC/CPU follows the Motor Industry Software Reliability Association (MISRA) C Coding Standards. These standards were created by MISRA to improve the reliability and predictability of C programs in critical automotive systems. Members of the MISRA consortium include Delco Electronics, Ford Motor Company, Jaguar Cars Ltd., Lotus Engineering, Lucas Electronics, Rolls-Royce, Rover Group Ltd., and other firms and universities dedicated to improving safety and reliability in automotive electronics. Full details of this standard can be obtained directly from the MISRA web site, http://www.misra.org.uk.
Portable
µC/CPU was designed for the vast variety of embedded applications. The processor-dependent source code for µC/CPU is designed to be ported to any processor (CPU) and compiler while µC/CPU’s core library source code is designed to be independent of and used with any processor/compiler.
Safety Critical Certification
µC/CPU has been designed and implemented with safety critical certification in mind. µC/CPU is intended for use in any high-reliability, safety-critical systems including avionics RTCA DO-178B and EUROCAE ED-12B, medical FDA 510(k), IEC 61508 industrial control systems, and EN-50128 rail transportation and nuclear systems.
For example, the FAA (Federal Aviation Administration) requires that all the source code for an application be available in source form and conforming to specific software standards in order to be certified for avionics systems. Since most standard library functions are provided by compiler vendors in uncertifiable binary format, µC/CPU provides its library functions in certifiable source-code format.
If your product is not safety critical, you should view the software and safety-critical standards as proof that µC/CPU is a very robust and highly-reliable software module.
Scalable
The memory footprint of µC/CPU can be adjusted at compile time based on the features you need and the desired level of run-time performance.
Limitations
By design, we have limited some of the feature of µC/CPU:
- Support for 64-bit data not available for all CPUs