Other Parts Discussed in Thread: SYSCONFIG
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: AM62A7
主题: SysConfig 中讨论的其他器件
如何实现 C7X.CPU3 MMU 安全诊断?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Other Parts Discussed in Thread: SYSCONFIG
器件型号: AM62A7
主题: SysConfig 中讨论的其他器件
如何实现 C7X.CPU3 MMU 安全诊断?
安全手册有以下说明:
MMU(内存管理单元)将属性应用于内存访问、将虚拟重新映射到物理地址、并可以根据配置拒绝访问某些区域。 如果 CPU 由于故障而计算出错误的地址、并且该地址访问由于 MMU 编程而被阻止的区域、则 MMU 通过识别错误的地址来提供诊断覆盖。
要触发 MMU 故障、我们应对 C7x MMU 区域未映射的地址执行存储器访问。
您可以检查工程的 SysConfig 并查找 C7x MMU 未映射的地址、并执行读取操作以触发 MMU 故障。
以下代码可用于触发 MMU 故障:
void mmuFaultTrigger(void){
volatile uint32_t *bad_ptr = (volatile uint32_t *)0xD0000000U; //unmapped address
volatile uint32_t dummy = *bad_ptr; }
代码进入异常处理程序、并更新以下寄存器:
IERR= 0x0000000000000001
IEAR= 0x00000000D0000000
IESR= 0x0000000000010845