
一、关于CID,TDCID 和 DDCID(概念) 1、CID:Compartment Identifier (0 – 7) RIF架构下,所有master发起的Transaction都会携带CID标记,用于标记master的身份,Slave侧可以通过访问规则过滤master的访问 2、TDCID: Trusted Domain Compartment ID ①具有该CID的master运行的软件具有最高的可信度 ②TDCID master有权限进行关键的系统和安全资源的配置,比如配置其他master的CID等 ③BootROM执行之后TDCID是确定的 3、DDCID:Debug Domain CID (7) 特别分配给DAP (Debug Access Port) 的CID,方便调试端口可以访问到所有资源 二、TDCID 和 Trusted Domain(介绍) 1、具有最高Trust权限的Trusted Domain (TD) ①CID = TDCID;②Secure;③Privilege 2、默认TDCID = 0x01,即运行BootROM的A35 3、当前TDCID值保存在RIMC_CR寄存器中 ①RIMC_CR.TDCID[2:0]标记当前的TrustDomain CID ②只有TrustedDomain 或 Debug Domain 允许改写TDCID 4、TDCID权限的移交 ①当前具有TDCID的CPU可以将权力移交给另一个核;②一个Power cycle只允许一次TDCID权力移交 三、DDCID 和 Debug Domain 1、Debug domain ①CID = DDCID (MP25系列上DDCID固定为7) ②Privilege 2、Debug domain master(通常是DAP) ①在Trust Boot阶段被初始化,用于调试受RIF保护的device 3、具有Debug Domain访问权限(DDCIDPriv)的调试工具可以访问Memory和Device资源 ① Non-secure debug domain只能访问non-secure属性的Memory和外设 ②Secure debug domain可以读写所有资源 4、 Debug domain 的使能 ①当RIMC.DDEN=1时使能 ②MP25系列上debug domain总是使能的 5、Trusted Application可以设置Debug tool的访问权限 通过写BSEC_DENR寄存器,Secure privileged Application可以选择debug和trace profile • Trace profile • Full debug profile 四、RIF配置与访问控制的总体概念 1、确定谁可以进行某个资源的RIF配置 ① 固定配置:某些资源RIF配置只能由Trusted Domain完成 ② 默认配置:e.g. 复位后的默认状态是需要由Trusted Domain配置RIF ③授权RIF配置权限给某个CID(security domain) 2、对资源进行RIF配置,确定其访问控制 ①被允许的Security domain可以配置某个IP或者Memory region的访问控制 如:CID过滤 、S/NS访问权限、 Priv/Un-priv访问权限 、Read/Write访问权限(片外memory和部分片内memory地址) 3、 访问某个资源 ①被允许的security domain实际访问某个外设或Memory资源 又是记笔记、学习的一天 |
有奖直播 | 智启芯程,共探STM32MP2产品迭代与生态进阶
《STM32MP2 RIF线上课程》学习笔记+总线主设备与外设的RIF隔离控制与管理
《STM32MP2 RIF线上课程》学习笔记+一般访问规则
《STM32MP2 RIF线上课程》学习笔记+RIF资源隔离概览
《STM32MP2 RIF线上课程》学习笔记+从SoC架构看资源隔离
《STM32MP2 RIF线上课程》学习笔记+系统隔离的思想
有奖直播 | GSMA新IoT eSIM规范重塑全球蜂窝生态
【STM32N6570-DK评测】3.从外部flash启动
有奖直播 | STM32MP2x 资源隔离架构 (RIF) 介绍与使用
兔哥的杂谈【002】——如何性价比更高地去编译STM32