为调试寄存器 DBGDRAR 设置的值错误

电子说

1.3w人已加入

描述

但读取此寄存器时会返回错误的地址 0xfe800003。正确的返回地址应为 0xf0800003。

尝试访问包含错误地址的 CoreSight 根 ROM 表将导致 RPU 处理器发生软件异常。

受此影响的软件为在 RPU 处理器上运行并且依赖此寄存器来访问 CoreSight ROM 表的所有软件,通常为自托管的调试软件。

解决方案

影响:

如果 2 个 LSB 位 (VALID) 设为 0’b11,那么更高的位 (ROMADDR) 将指向 CoreSight 根 ROM 表。RPU 自托管调试软件可能依靠此寄存器来访问 ROM 表。

此类调试软件可能尝试访问错误地址 0xfe800000 从而导致 RPU 发生软件异常。

访问给定的 ROM 表地址时,根据配置,可能产生的影响包括系统挂起、返回未定义的数据、解码错误或安全违例。

由于此寄存器仅可供 RPU 访问,因此只有 RPU 自托管调试软件会受此影响。

变通方法:

请在自托管调试软件中将 CoreSight 根 ROM 表硬编码为访问正确的地址 (0xf080000),不读取此寄存器。

受影响的配置:

所有 Versal 器件。

解决方案:

不对该问题进行修复。 

      审核编辑:彭静
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分