Functional Safety with Keil MDK

V-model for safety system development lifecycle

Keil MDK tools for safety projects

Many products for such markets as household appliances, automotive, industrial and healthcare have regulatory requirements to be certified against functional safety standards.

While each safety standard may have own specifics, in most cases, software development process for safety-critical products shall follow so called V-model with formal methods and requirements defined for each development stage. 

Keil MDK equips software engineers with professional tools that support the V-model development process and simplify creation, analysis and verification of complex embedded applications.

Table below highlight key features for use in safety development projects.

Safety-qualified Arm C/C++ compiler MDK-Professional provides access to safety-qualified Arm C/C++ compiler and its supporting documentation
Static Code analysis and MISRA checking MDK provides native integration with code verification tools such as PC-Lint and Parasoft C/C++ test
Code coverage MDK with ULINKpro enables non-intrusive code coverage on target hardware visa streaming instruction trace 
Continuous integration MDK has a command line interface for test automation and can be uses with Continuous Integration (CI) tools such as Jenkins
Simulation models MDK-Professional enables robust regression testing at function and module level using Fixed Virtual Platforms (FVP) 
RTOS-aware debugging MDK provides full visibility into RTOS operation thus simplifying system debug and optimization. 
Timing analysis Event Recorder provides status details of software components and includes time information.
Event Statistics show average, min and max execution times. 

Arm Compiler for Functional Safety

Keil MDK Professional Edition enables use of Arm Compiler for Functional Safety and its supporting documentation without any extra costs. This qualified toolchain supports development of safety-critical embedded software solutions for automotive, industrial, medical, railways and aviation markets. Arm Safety Compiler greatly simplifies the ‘Tool Qualification’ process for the toolchain allowing end-users to focus on their end-product development.

Safety Run-Time System (FuSa RTS)

Arm offers the Functional Safety Run-Time System (FuSa RTS), a set of qualified components for Cortex-M microcontrollers that lets developers use the highest safety integrity levels (SIL) for their end applications.

With FuSa RTS, developers receive a robust real-time operating system (RTOS), independent processor abstraction layer and verified C library that are highly optimized for Cortex-M processors by Arm architecture experts.

While being available as a separately licensable product, FuSa RTS natively supports Arm Keil MDK and uses the safety-qualified Arm C/C++ compiler. 

Learn more about Arm FuSa RTS...