
一、ARM Cortex内核发起的访问 1、内核运行的安全状态:① 安全 Secure、②非安全 Nonsecure 2、内核运行的特权模式:①特权 Privileged、②非特权 Unprivileged 3、内核发起的访问类型:①数据访问、②指令访问 4、内核访问的目标资源:Memory 存储器,Peripheral 外设 5、内核自身内部的配置和过滤:①A35: MMU、②M33: SAU/IDAU, MPU、③M0+: MPU④MMUSAU/IDAU, MPU(可能阻拦内核发起的访问,触发Fault、可能允许访问,并保持安全访问标记(S/NS)、可能允许访问,但改变安全访问标记(S →NS)) 6、最终来到总线的访问信号:①携带安全访问标记(S/NS,Priv/Unpriv)、②安全访问标记可能与内核当前的运行状态(S/NS)不一致、③固定分配的CID标记 二、内核访问资源的两级检查 三、资源侧一般规则 1、资源侧的安全访问控制;2、资源侧的特权访问控制;3、资源侧的CID访问控制 四、关于非法访问事件IAC event IAC单元会收集所有非法访问事件 1、产生IAC event的情况 ①访问违反Secure/Non-secure规则、②访问违反Privileged/Unprivileged规则、③访问违反CID过滤规则 2、当发生非法访问事件的时候 ①Trusted Domain (TDCID上的Secure Privilege) 代码可以读取IAC寄存器,获知触发非法访问的来源 • IAC_CR IAFx bit 用于使能event • IAC_SR IAFx bit 用于读取状态得知来源 • IAC_IER IAIEx bit 用于设置/清除event 3、不会产生IAC event的情况 ①RIF-aware 外设寄存器读取( 寄存器中至少有一个bit是允许读的,则不会产生IAC event) ② 由RISUP包含的非 RIF-aware外设寄存器的访问(如果whitelist中的master 通过RISC_PERy_SEMCR寄存器获取到了semaphore,则不会产生IAC event) 4、RISAB, RISAF管理的资源的非法访问 ① RISAB/RISAF有自己的IAC寄存器用于 • 查看IA事件状态、信息(S/Priv/CID/RW, Addr) • 清除IA标记等 |
《STM32MP2 RIF线上课程》学习笔记+CID与Security Domain安全域概念
《STM32MP2 RIF线上课程》学习笔记+RIF资源隔离概览
《STM32MP2 RIF线上课程》学习笔记+从SoC架构看资源隔离
《STM32MP2 RIF线上课程》学习笔记+系统隔离的思想
有奖直播 | GSMA新IoT eSIM规范重塑全球蜂窝生态
【STM32N6570-DK评测】3.从外部flash启动
有奖直播 | STM32MP2x 资源隔离架构 (RIF) 介绍与使用
兔哥的杂谈【002】——如何性价比更高地去编译STM32
我是jundao721,我的2024年总结
我是LTLT,我的2024年总结