Software isolation
The software isolation refers to a runtime mechanism protecting different processes from each other (interprocess protection). These processes can be executed sequentially or concurrently (for example tasks of operating system). The software isolation in the SRAM ensures that respective stack and working data of each process cannot be accessed by the other processes. This interprocess protection can be extended to the code in the flash memory and nonvolatile data as well.
Goals of the software isolation:
- Prevent a process to spy the execution of another sensitive process.
- Protect a process execution against a stack corruption due to memory leaks or overflow (incorrect memory management implementation).
| Protection | Type | Isolation |
|---|---|---|
| MPU | Dynamic | By privilege attribute 1 |
| Firewall | Static | By bus address hardware control |
| Secure hide protection (HDP) | Static | Process preemption at reset |
| Dual core | Static | By core ID2 |
| TrustZone®/Security attribute | Static and dynamic | By secure attribute propagated from the core to all resources |

