1 为什么需要 MPU
1.1 从安全分解到 FFI
实现功能安全目标时,常用安全分解,例如把 ASIL C 的安全目标分解为 ASIL A + ASIL B。分解成立的前提是:两个安全需求的实现必须相互独立。
软件上,一套软件往往运行在同一颗 MCU 里,其中有不同 ASIL 等级的组件。这些组件之间必须保证 FFI(Freedom From Interference,免于干扰):低等级组件的故障不能传播并破坏高等级组件。
1.2 FFI 的三个维度
| 时序与执行 | 低 ASIL 任务占用 CPU,导致高 ASIL 任务超时 | OS 时序保护、程序流监控 |
| 内存资源 | 低 ASIL 软件改写高 ASIL 软件的全局变量、堆栈 | MPU |
| 共享资源 | 多个软件共用外设、通信接口、锁 | 访问控制、互斥机制、Bus MPU |
MPU(Memory