ISO 26262-6 permits spatial separation between an ASIL-D function and a QM function as evidence of Freedom from Interference (FFI), provided the separation is enforced by an independent mechanism (MPU hardware). Placing each on a dedicated OsCore with separate OsApplication + MPU regions is the standard implementation pattern.
Core 0 — ASIL-B/D Partition Core 1 — QM Partition ┌───────────────────────────────┐ ┌──────────────────────────────┐ │ OsApp_Safety (non-trusted) │ │ OsApp_QM (trusted) │ │ Task_SafetyCtrl_10ms │ │ Task_ComStack_1ms │ │ EPS_SWC, BrakeCtrl_SWC │ │ COM, PduR, CanIf │ │ WdgM, PHM supervision │ │ Task_ADAS_50ms │ ├───────────────────────────────┤ ├──────────────────────────────┤ │ OsApp_BSW_Safety (trusted) │ │ OsApp_BSW_QM (trusted) │ │ EcuM, BswM, DEM, NvM │ │ DCM, FIM │ └───────────────────────────────┘ └──────────────────────────────┘ MPU enforces: Safety .data inaccessible MPU: QM tasks cannot write from QM core via hardware to Safety .data regions
| ASIL Level | Core Assignment | OsApplication Type | MPU Enforcement |
|---|---|---|---|
| ASIL-D | Core 0 dedicated | Non-trusted (MPU restricted) | Hardware MPU blocks cross-OsApp writes |
| ASIL-B (decomposed) | Core 0 or dedicated | Non-trusted | MPU + OsTaskTimeFrame |
| QM | Core 1 | Trusted or Non-trusted | Trusted = full memory access (BSW); Non-trusted for SWCs |