Designed with Micrium’s renowned quality, scalability and reliability, the purpose of µC/LIB is to provide a clean, organized ANSI C implementation of the most common standard library functions, macros, and constants.
µC/LIB was designed for the vast variety of embedded applications. The source code for µC/LIB is designed to be independent of and used with any processor (CPU) and compiler.
The memory footprint of µC/LIB can be adjusted at compile time based on the features you need and the desired level of run-time performance.
Coding standards have been established early in the design of µC/LIB and include:
- C coding style
- Naming convention for
#defineconstants, macros, variables and functions
- Directory structure
The source code for µC/LIB 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.
Safety Critical Certification
µC/LIB has been designed and implemented with safety critical certification in mind. µC/LIB 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/LIB 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/LIB is a very robust and highly-reliable software module.
By design, µC/LIB does not support variable argument library functions.