
一、RIFSC 对 Master 的配置和管理 1、 主要功能和目的 ①分配每个Master的CID:用于RIF隔离机制区分访问来自哪个master(包括Debug port CID) ②指定TDCID:确定哪个Master具有最高信任权限 ③配置Master发起访问时的安全和特权属性:Secure/Non-secured,Privileged/Unprivileged;非CPU的Master & 非RIF-aware Master ④支持外设类型的Master选择CID配置来源: 由RIMC指定,或者继承自RISUP配置 ⑤锁定Master配置 二、RIFSC.RIMC对Master的配置 1、RIFSC_RIMC_CR:TDCID/DAPCID配置 ①Bit【15】:DDEN(用于读取debug domain 使能与否的状态,MP25这个bit总是1) ②Bit【10:8】:DAPCID(用于配置DAP的CID (见备注)) ③Bit【6:4】:TDCID • 表示当前哪个CID具有最高Trust level,即哪个CPU可以使用Trust Domain • 默认值为 1,即A35是默认具有TDCID权限的master • 该bit域只能写一次(允许一次TDCID权限移交) ④Bit【1】:WUCDONE(根据wakeup CPU是否使能,决定当前的TDCID(2,或者TDCID位域的值)) ⑤Bit【0】:GLOCK(=1 时RIMC_CR寄存器锁定不可修改) 备注: 2、RIFSC_RIMC_ATTRx:某个master的CID和security domain属性配置 ①Bit【9】:MPRIV ➔ 1: Priv, 0: Unpriv (默认值 0) ②Bit【8】:MSEC ➔ 1: Secure, 0: Nonsecure (默认值 0) ③Bit【6:4】:MCID ➔ Master x 的CID,仅当对应的 CIDSEL=1时有效 ④Bit【8】:CIDSEL ➔ Master x 的CID选择 (默认值 0) 0:使用硬件默认CID或者继承自RISUP配置的CID作为Master x的CID 1:使用MCID作为Master x的CID 注:其中 x:0 – 15,表示master 的 index (见下页的Master CID默认配置表); 复位后不同index的Master具有默认的CID配置 三、RIFSC.RISUP对外设的配置 1、RIFSC.RISUP对外设类型Master CID的配置 2、RIFSC.RISUP对外设IP CID的配置 四、外设Master CID配置的情况 1、外设Master CID由RIMC直接配置的情况 2、外设Master CID继承自RISUP配置的情况 3、外设Master CID继承自RISUP配置的情况 注: 五、RIFSC RIFSC.RISUP对外设的配置和访问管理 1、主要功能和目的 ①配置管理外设访问的CID过滤策略 允许任何CID访问(无CID过滤);允许单一CID访问(静态分配);允许多个CID分时访问(基于semaphore动 态获取访问权限);不允许任何CID访问 ②配置管理外设的Secure访问权限 仅允许Secure master访问;允许Secure或Nonsecure master访问 ③配置管理外设的Privileged访问权限 仅允许Privileged master访问;允许Privileged或Unprivileged master访问 ④锁定RIF配置,如某个外设的SEC/PRIV配置 RIFSC RIFSC.RISUP对外设的配置和访问管理 2、RIFSC.RISUP对外设的配置和访问管理 ①Secure/Nonsecure访问配置 • RIFSC_RISC_SECCFGRx ➔ 寄存器位对应某个 non RIF-aware IP的RISUP index, • 0:允许S/NS访问,1:只允许S访问 ②Priv/Unpriv访问配置 • RIFSC_RISC_PRIVCFGRx ➔寄存器位对应某non RIF-aware IP的RISUP index • 0:允许Priv/Unpriv访问,1:只允许Priv访问 ③ Sec/Priv访问控制配置锁定 • RIFSC_RISC_RCFGLOCKRx ➔寄存器位对应某non RIF-aware IP的Sec/Priv配置锁定 • 0:未锁定,1:锁定,锁定状态在外设复位前不能撤销 ④CID过滤配置 • RIFSC_RISC_PERy_CIDCFGR (CFEN:是否使能CID过滤,0:不使能,1:使能 SEM_EN:是否使能semaphore机制,0:不使能,1:使能 SCID:CFEN=1 && SEM_EN=0时指定允许的CID SEMWLCi[7-0]:一个bit对应一个CID,1表示CIDi在白名单) • RIFSC_RISC_PERy_SEMCR SEM_MUTEX:CFEN=1 && SEM_EN=1时,白名单中的master将bit[0]由0置1,则获得semaphore,获得对应外设的控制权 ⑤ 关于RIF-aware外设 RIF-aware IP不需要RISUP来管理Sec/Priv访问权限,因此没有对应的SECCFGRx/PRIVCFGRx寄存器bit配置 但是RIF-aware IP在RISUP也有对应的index(RIF-aware IP Index用来标记IAC中的非法访问事件源) ⑥对于带有Master功能的外设 RISUP对外设的CID的配置可能影响其作为Master时的CID(是否继承RISUP对CID的配置取决于RIMC配置中的CIDSEL) ⑦RISUP与RCC有关联 • 部分IP的对应RCC寄存器的访问控制由RCC直接管理 • 其他IP对应的RCC寄存器的访问权限则继承自RISUP对外设的相关配置 注: 六、RIF架构中的中断管理 又是学习的一天 |
有奖直播 | 智启芯程,共探STM32MP2产品迭代与生态进阶
《STM32MP2 RIF线上课程》学习笔记+CID与Security Domain安全域概念
《STM32MP2 RIF线上课程》学习笔记+一般访问规则
《STM32MP2 RIF线上课程》学习笔记+RIF资源隔离概览
《STM32MP2 RIF线上课程》学习笔记+从SoC架构看资源隔离
《STM32MP2 RIF线上课程》学习笔记+系统隔离的思想
有奖直播 | GSMA新IoT eSIM规范重塑全球蜂窝生态
【STM32N6570-DK评测】3.从外部flash启动
有奖直播 | STM32MP2x 资源隔离架构 (RIF) 介绍与使用
兔哥的杂谈【002】——如何性价比更高地去编译STM32