Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Tools, Software and IDEs blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Arm Community blogs
Arm Community blogs
Embedded blog Arm's new runtime software system to accelerate development of safety applications on Cortex-M devices
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI and ML blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded blog

  • Graphics, Gaming, and VR blog

  • High Performance Computing (HPC) blog

  • Infrastructure Solutions blog

  • Internet of Things (IoT) blog

  • Operating Systems blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • Real Time Operating Systems (RTOS)
  • automotive
  • Arm Compiler for Embedded FuSa
  • Embedded
  • Arm Compiler
  • Cortex-M
  • Keil Tools
  • functional safety
  • CMSIS RTOS
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Arm's new runtime software system to accelerate development of safety applications on Cortex-M devices

Reinhard Keil
Reinhard Keil
February 22, 2018

Building on the wide popularity of Arm-based SoCs in markets such as automotive, industrial and healthcare, we are thrilled to announce Arm’s own, highly optimized runtime software components for use in safety-related and safety-critical applications. The new runtime software system for functional safety includes a certified version of the popular Keil RTX5 real-time operating system (RTOS), hand-tuned C library functions and an extensive set of documentation to support product safety certification activities. Combined with the TÜV-certified Arm Compiler toolchain and software test libraries (STL), the runtime components provide a reliable, more secure, and highly optimized software platform to enable engineers to shift their efforts from low-level software layers onto the value-add application code, enhancing engineering efficiency and time to market for safety critical tasks.

Keil RTX5 RTOS diagram

Cortex-M runtime system for safety-critical systems

Designed for engineering efficiency

Keil RTX is a time-deterministic RTOS that allows developers to create programs that simultaneously perform multiple functions. It also helps developers create applications that are better structured and more easily maintained. Generally, an RTOS manages multiple application tasks, or threads, which results in a priority-based, pre-emptive scheduling for real-time responsiveness. As safety-critical systems evolve in complexity, the benefits of RTOS technology become evident.

If an RTOS is used in a safety-critical system, however, embedded engineers are challenged to comply with regulatory requirements that imply documentation and testing of the software that is developed. To simplify and accelerate software development for safety applications requiring certification, Arm has been working with TÜV SÜD on the certification of RTX according to safety standards ISO 26262 up to ASIL D for automotive, and IEC 61508 up to SIL 3 for industrial.

Designed for safety 

During the development of Keil RTX5, we considered several safety relevant aspects which means its kernel has provisions that naturally improve the reliability of an embedded application:

  • Thread and handler mode: the RTOS kernel executes in handler mode with stack separation to avoid unexpected stack loads.
  • Time-deterministic interrupt execution: RTX5 utilizes the LDEX/STEX instruction available on most Cortex-M processors and therefore user interrupts are never disabled.
  • Runtime check of kernel objects: object identifiers are validated at runtime for type-mismatches and are protected from inadvertently accesses by the user application.
  • Stack overrun checking: RTX fills the top of a thread stack with a known value and verifies that this known value is not overwritten during a thread switch.
  • Object-specific memory pools: dedicated fixed-size memory management for each object type avoids memory fragmentation during runtime and makes object creation and destruction time deterministic.
  • Static object memory allocation: optionally, the user application may provide static memory for kernel objects, which guarantees that the RTOS system can never run out of storage during runtime.
  • MISRA C:2012 compliance: RTX is written in C using C99 language extensions with MISRA C:2012 guidelines being been applied to it.

Process Protection

Many Cortex-M processor-based microcontrollers include a Memory Protection Unit (MPU) to allow isolation of memory and peripheral accesses from various processes. The safety certified RTX variant, provides optional MPU support that further improves the safety aspects of embedded applications with integrated process isolation.

To simplify the system setup and process protection for data and peripherals, Arm has introduced a new CMSIS component: CMSIS-Zone. This technology includes an interactive tool to seamlessly manage system configuration, and is suitable for single and multi-processor environments. This tool gives an overview of all available system resources and aids the software architect with the assignment of processor core, memory, and peripherals to independent project zones. At project level, the memory and peripherals can be further assigned to execution zones with MPU regions for safe process execution.

Availability 

The runtime system for functional safety, comprising Keil RTX5, Arm Functional Safety C library, Safety Manual, Safety Case Report and TÜV certificate, is expected to become available in June 2018.

The certification enables the use of the runtime system in projects that run on Arm Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4 and Cortex-M7, and target certification according to ISO 26262 and IEC 61508 up to ASIL D and SIL 3, respectively. Certification for Cortex-M23 and Cortex-M33 is planned for 2019.

Learn More

Anonymous
  • Jack Lee
    Jack Lee over 4 years ago

    Where can I download this?

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Embedded blog
  • The flexible approach to adding Functional Safety to a CPU

    James Scobie
    James Scobie
    Find out more about Functional Safety with SoC designs and Software Test Libraries.
    • November 8, 2022
  • The importance of building functional safety into your design right from the start

    Madhusudan Rao
    Madhusudan Rao
    Currently, there are many processors that are not designed with functional safety standards in mind and the use of these can lead to lengthy and costly qualification processes for safety relevant applications…
    • November 8, 2022
  • Arm Safety Ready program: Building confidence into your application

    Madhusudan Rao
    Madhusudan Rao
    To demonstrate Arm’s commitment to functional safety, we announce the launch of our Safety Ready program.
    • November 8, 2022