Skip to content

Arm-Examples/Safety-Example-STM32

Repository files navigation

Safety Example for STMicroelectronics NUCLEO-H563ZI

License NUCLEO_H563ZI build NUCLEO_H563ZI run

This repository contains examples for Keil Studio that run on the STMicroelectronics NUCLEO-H563ZI.

Quick Start

  1. Install Keil Studio for VS Code from the VS Code marketplace.
  2. In VS Code, either clone this Git repository or (if downloaded as ZIP file) open the top-level folder.
  3. Open the CMSIS View in VS Code and use the ... menu to choose an example via Select Active Solution from workspace.
  4. The related tools and software packs are downloaded and installed. Review progress with View - Output - CMSIS Solution.
  5. In the CMSIS view, use the Action buttons to build, load and debug the example on the hardware.

Examples description

The examples can be explored using the Keil MDK-Community edition that is free-to-use for training and evaluation. For evaluation purposes, the open-source variant of Keil RTX is used which offers the similar features as the commercial, safety-certified FuSa RTS. FuSa RTS is part of the Keil MDK Professional edition.

Example name Description
TrafficLight This is a practical demonstration of Arm FuSa RTS process isolation, using a simple traffic light controller to showcase safety classes, MPU zones, and fault handling on Cortex-M devices. It contains the App/TrafficLight.cproject.yml which implements the safety-critical application part using functional safety features of Keil RTX. Safety Example

Git Workflow

This repository contains multiple csolution projects and is configured as a single Git workspace for VS Code. It can be therefore effectively used with the VS Code Git integration via the following files:

  • vcpkg-configuration.json is in the workspace root directory and installs the tools for all csolution projects.
  • .gitignore excludes files that contain user specific setup, for example .vscode and *.cbuild*.yml.

Continuous Integration (CI)

The underlying build system of Keil Studio uses the CMSIS-Toolbox and CMake. CI is effectively supported with:

  • Tool installation based on a single vcpkg-configuration.json file for desktop and CI environments.
  • CMSIS solution files (*.csolution.yml) that enable seamless builds in CI, for example using GitHub actions.
CI Workflow Description
Build_NUCLEO_H563ZI_Release Builds the example binary on a GitHub hosted runner and saves it as an artifact.
Run_NUCLEO_H563ZI_Release Downloads the binary artifact, flashes it on a target board and starts the application.

Files and Directories

This is a list of the relevant files and directories.

File/Directory Content
vcpkg-configuration.json Lists all tools that are installed with vcpkg.
.github/workflows Contains setup for the CI Build and HiL test workflows.
App Contains the safety example.

Issues or Questions

Use the Issues tab to raise questions or issues.

About

This repository contains functional safety related examples running on STMicroelectronics STM32 devices.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 4

  •  
  •  
  •  
  •  

Languages