nRF Connect SDK API 3.3.99
Loading...
Searching...
No Matches
nrf_lcs.h File Reference

The PSA-compatible Life Cycle State (LCS) API for Nordic devices. More...

#include <stdint.h>

Go to the source code of this file.

Enumerations

enum  nrf_lcs {
  NRF_LCS_UNKNOWN = 0x60ebef49U , NRF_LCS_ASSEMBLY_AND_TEST = 0x5d44c48dU , NRF_LCS_PSA_ROT_PROVISIONING = 0xafe19732U , NRF_LCS_SECURED = 0x87bb60e7U ,
  NRF_LCS_PSA_PROT_DEBUG = 0x98985939U , NRF_LCS_PSA_NON_PROT_DEBUG = 0x7a7e3456U , NRF_LCS_DECOMMISSIONED = 0x24152b9eU , NRF_LCS_MAX = UINT32_MAX
}
 

Functions

enum nrf_lcs nrf_lcs_get (void)
 Query the current Life Cycle State value.
 
void nrf_lcs_set (enum nrf_lcs new_lcs)
 Set the Life Cycle State value.
 

Detailed Description

The PSA-compatible Life Cycle State (LCS) API for Nordic devices.

This file defines an API to read and update LCS. It is independent of the underlying storage technology, yet it provides a basic check of allowed state transitions. The API is designed to be used by the bootloader, but it can also be used by other components as well, as long as the underlying storage implementation is available.

The LCS names and descriptions are compliant with the PSA specification, yet are extended by expectations and steps performed by the firmware, which are based on Nordic design decisions.

The constants representing the LCS values are defined in such a way, that a simple skip, uninitialized variable or a stack manipulation attack is likely to result in an invalid LCS value, which can be detected by the calling API.