Understanding secure software
While Arm Cortex-M processors come equipped with hardware features that provide fundamental protection for secure software, secure software needs to be written precisely to ensure that the whole system is secure. In this section, we will provide an overview of how software can be architected to benefit from the different hardware security features. We will then introduce Platform Security Architecture (PSA), a key security framework, and Trusted Firmware-M (TF-M), an open source reference implementation of PSA.
Many of the Arm Cortex-M processors have an MPU, which enables developers to configure the memory on their device into different regions with different protection levels. Programmers can leverage the MPU to protect critical processes such as the startup code and RTOS in a privileged partition, and the rest in unprivileged partitions. For example, static random-access memory (SRAM) can be defined as an execute-only memory region to prevent code...