Zynq-7000 SoC,APU - 调试的可见性启用访问权限启用/禁用跟踪不受ISB指令保证

描述

虽然可以正确地实现所有与调试相关的功能的可见性,但ISB指令不足以使跟踪流可以看到身份验证状态寄存器更改。

因此,即使执行ISB,跟踪也会以当前路点停止,直至下一个异常条目或返回,或者到下一个串行分支。

要解决此问题,必须将ISB指令替换为导致更改可见的事件之一。特别是,通过MOVS PC将ISB替换为下一条指令可以实现正确的功能。

影响:

如程序所预期的那样,轻微的跟踪流可能无法启动或停止。

解决方法:

通过导致更改可见的事件之一放置ISB指令。特别是,通过MOVS PC将ISB替换为下一条指令将实现正确的功能。

受影响的配置:

使用ARM处理器的跟踪功能的系统。

受影响的器件版本: 全部,没有计划修复。请参阅(Xilinx答复47916) Zynq-7000设计咨询主答复记录


根据ARM体系结构,在异常进入或返回或ISB指令之后,应使处理器看到认证状态寄存器中的任何更改。

虽然对于所有与调试相关的功能都可以正确实现,但ISB不足以使跟踪流可见更改。因此,即使执行ISB,跟踪也将以当前路点停止,直至下一个异常条目或返回,或者到下一个串行分支。

串行分支是以下之一:

设置S位的PC数据处理(例如,MOVS pc,r14)
LDM pc ^

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-31 14:45:39 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它