1. What is product life cycle
- The product life cycle defines the non volatile product states of the platform that come with different levels of protection. It is used when considering the product in its different usages:
- - Under development (fully open)
- - States related to manufacturing (limited debug)
- - Final state when configuration is finalized (no more debug access)
- As an example in the development, the debug is fully available to ease the developer life.
- When starting to provision official (final product configuration) and sensible assets, consider using a provisioning state where the debug is limited to protect the firmware and the data under provision.
- The product state can consider different states depending on the number of sub-systems. Typically, when TrustZone® is supported, third-party and non-secure application by another third-party can handle TrustZone sub-system.
- It can be implemented by hardware control, and can be completed thanks to software controls.
- STM32 microcontrollers products support two kind of hardware life cycle control depending on product families:
- - Based on RDP (Read Out Protection): RDP0; RDP0.5; RDP1; RDP2
- - Based on PRODUCT_STATEs: Open; Provisioning; iROT-Provisioned; TZ-Closed; Closed/Locked
2. References
- - Lifecycle based on RDP: Legacy RDP article
- - Lifecycle based on PRODUCT_STATEs: New product state article