Skip to content

Guideline using IEC60730 Safety Library

Platform codes for EFR32 series chips which complies to IEC60730 safety standard

Introduction

The IEC60730 library for EFR32 provides a basic implementation required to support the necessary requirements found in Table H.1 in the IEC60730 specification. It includes all the Power On Self Test (POST) functions executed when a device is first powered on, as well as Built In Self Test (BIST) functions that are called periodically to ensure correct operation. Certain portions of the requirements require a detailed understanding of the system under development. Callback functions must be completed by the developer to guarantee meeting the full specification. These include a Safe State function used when validation detects an anomaly, properly implemented communications channels (redundancy, error detection, periodic communications), and Plausibility functions to validate system state (internal variables and inputs/outputs).

License

Please refer License

Release Notes

Please refer document in release_note.md

IEC60730 Certificate

The Silicon Labs Appliances homepage will contain the final certificate and detailed report when it is completed.

OEM Testing

Once OEMs have completed integrating their system with the IEC60730 Library, they will need to certify their device with a qualified certification house.

Supported Families

Software Requirements

Building the IEC60730 Demo

Generate document API

Coding convention tool

Compiler specifications

System Architecture

CMake

The project has a CMake template that supports running tests. Follow the steps below one by one to build and run tests.

Add the IEC60730 Library extension to the SDK

Install Dependencies

Install slc-cli

How to use slc

Add the path to the expanded slc-cli to your PATH sh export PATH=$PATH:~/SimplicityStudio/slc_cli_linux/slc_cli/

Configure SDK. For example sh slc configuration --sdk ~/SimplicityStudio/SDKs/gecko_sdk/

Run slc signature trust --sdk if you have not yet trusted your SDK.

For example your SDK locate at ~/SimplicityStudio/SDKs/gecko_sdk/. Run slc signature trust --sdk ~/SimplicityStudio/SDKs/gecko_sdk/

Set toolchain For example sh slc configuration -gcc=~/SimplicityStudio-5/SimplicityStudio_v5/developer/toolchains/gnu_arm/12.2.rel1_2023.7/

Generate the project sh slc generate \path\to\example.slcp -np -d -name= --with

Choose one of the options below to generate the project

Operation Arguments Description
generate -cp, --copy-sources Copies all files referenced by this project, selected components, and any other running tools (Pin Tool, etc.). By default, no files are copied.
^ -cpproj, --copy-proj-sources Copies all files referenced by the project and links any SDK sources. This can be combined with -cpsdk.
^ -cpsdk, --copy-sdk-sources Copies all files referenced by the selected components and links any project sources. This can be combined with -cpproj.

[!NOTE]: To be able to use the extension LibIEC60730. You need to add the LibIEC60730 extension to your SDK in the extension folder and run the command: slc signature trust -extpath <path_to_your_extension_sdk>

For example
$ GSDK=~/SimplicityStudio/SDKs/gecko_sdk
$ slc configuration --sdk=$GSDK --gcc-toolchain=/Applications/ARM
$ slc generate $GSDK/app/common/example/blink_baremetal -np -d blinky -name=blinky -o makefile
   --with brd4166a
$ slc signature trust -extpath $GSDK/extension/IEC60730_Libs

Run unit test

Run integration test