
RISAF对地址映射Memory资源的配置和管理 一、主要功能和目的 1、管理地址映射的Memory,配置管理其隔离与访问控制 ①分配不同大小地址范围的memory region/sub-region给不同的security domain ②Trusted domain可以授权其他security domain对Memory sub-region资源进行subregion范围和RIF配置 ③Trusted domain可以授权其他non-secure privilege的软件对Non-secure 属性的 sub-region资源进行范围和RIF配置 2、 基于多重规则定义Memory region/sub-region的隔离访问控制 ①限制CID访问,允许一个或者多个CID访问资源 ②只允许Secure,或者Non-secure访问 ③ 只允许Privileged访问,或者Privileged/Unprivileged都可以访问 ④ 读/写访问控制:只读,只写,或者读写 3、支持DDRMCE,可以对DDR-SDRAM的数据做实时加解密 4、配置锁定管理,及非法访问事件管理 二、RISAF管理的资源 三、地址分区类型和基于Region的分区管理 四、Region分区的RIF配置权限(谁可以做region配置) ①只有Trusted Domain (TDCID+ Secure + Priv )能够配置base region RIF属性及其subregion的Nest使能 ② Base region 为Secure 属性或没有使能Subregion NEST时,只有Secure的master可以配置 subregion的RIF属性 ③只有Priv 的master可以配置 subregion的RIF属性 ④ Base region为Nonsecure属性且subregion Nest使能时,Secure/Nonsecure 的master都可以配置subregion 的RIF属性 ⑤未使能subregion NEST时,即没有使能CID授权时,只有TDCID可以配置subregion RIF属性 ⑥使能subregion NEST,只有被授权的CID的master可以配置subregion RIF属性(CIDx = DCCID ) 五、RISAF所管理的Memory资源的Region配置一般流程 六、Region分区的访问过滤策略(谁可以访问region对应的memory范围 1、只有Primary region覆盖的范围(即base/subregion未覆盖或未使能的区域): 只允许Trusted Domain访问 2、 加解密:base region使能时,由base region的ENC配置决定 3、同时存在base region和subregion的情况 ①CID过滤: Subregion使能时,subregion SRCID决定哪个CID master可以访问subregion区域; Base region使能时,未被subregion覆盖的区域由base region的配置决定哪个CID可以做读/写访问。 ②Secure/Non-secure访问过滤: Non-secure配置优先,即某个地址范围在其涉及的所有使能的region中(包括base region,subregionA/B),只要有一个region定义了Non-secure属性,该范围就具有Non-secure访问属性,只允许Non-secure访问 ③Priv/Unpriv访问过滤 Unpriv配置优先,即某个地址范围在其涉及的所有使能的region中(包括base region,subregionA/B),只要有一个region定义了Unpriv属性,该范围能由Priv/Unpriv访问(base region的Unpriv 设置指对该subregion允许的CID,base region设置为允许Unpriv访问) ④ Read/Write访问过滤 Base region策略生效时,根据base region的CID read/write配置进行过滤 Sub region策略生效时,根据subregion的CID read/write配置进行过滤 七、启用base region加解密功能 1、使能base region前需要配置DDRMCE AES密钥(RISAF_KEYRy,write only寄存器(128bit密钥)) 2、密钥寄存器只允许Trusted Domain写 3、由于同一个RISAF资源的base region共享一个密钥,推荐仅对Secure region加密 八、配置锁定 1、RISAF全局RIF配置锁定: • RISAF_CR.GLOCK=1锁定RISAF资源的RIF配置,只有subregion的start/end/config和IACR寄存器可写 2、 subregion的RIF配置锁定: • RISAF_REGx_A/BCFGR.寄存器位置位,对应某个subregion的配置被锁定 3、锁定状态保存到下次RISAF复位 九、 非法访问控制 1、RISAF有自己独立的非法访问相关寄存器 ①RISAF_IASR:指示当前的非法访问状态: IAEF:指示System bus出现非法访问,具体信息由RISAF_IAESR和RISAF_IADDR给出 CAEF:指示配置寄存器非法访问 ② RISAF_IACR:非法访问状态清除: IAEF:清除IAEF状态 CAEF:清除CAEF状态 ③ RISAF_IAESR:提示非法访问具体原因 IANRW:违反读/写访问控制 IASEC:违反Secure/Non-secure访问控制 IAPRIV:违反Privileged/Unprivileged访问控制 IACID:触发非法访问的CID ④ RISAF_IADDR:指示触发非法访问的地址 注:只有Trusted Domain能够操作相关寄存器 |
《STM32MP2 RIF线上课程》学习笔记+使用CubeMX配置RIF介绍与举例
《STM32MP2 RIF线上课程》学习笔记+RIF非法访问调查与问题解决示例
《STM32MP2 RIF线上课程》学习笔记+RIF默认状态总结
《STM32MP2 RIF线上课程》学习笔记+几个典型的RIF感知IP介绍
《STM32MP2 RIF线上课程》学习笔记+Memory地址访问管理之RISAB
《STM32MP2 RIF线上课程》学习笔记+Memory地址访问管理之RISAL
实战经验 | AFCI上位机用户手册
实战经验 | Cortex-M核除0操作的报错机制话题
刘氓兔的杂谈【001】-片上USB 高速PHY
实战经验 | STM32G474 FPU 性能优化与测量