UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 47585

Zynq-7000 SoC, APU - ISB 指令无法确保启用/禁用跟踪的调试启用访问权限的可视性

描述

尽管能适当了解所有与调试有关的特性,但 ISB 指令不足以让跟踪流了解认证状态寄存器的变化。 

因此,跟踪会在当前的路标上停止,可能会直到下一个异常进入或返回,也可能会到下一个串行分支,即使在执行 ISB 时也是如此。

要解决这个问题,ISB 指令必须被一个可导致更改可见的事件所取代。特别是针对下一个指令将 ISB 替换为一个 MOVS PC 时,会实现正确的功能性。

解决方案

影响:

很小,跟踪流可能不会启动,也不会停止,正如程序所预计的那样。

解决方法::

请使用一个可导致更改可见的事件取代 ISB 指令。特别是针对下一个指令将 ISB 替换为一个 MOVS PC 时,会实现正确的功能性。

受影响的配置:

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

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


根据 ARM 架构,在异常进入或返回或 ISB 指令之后,认证状态寄存器的任何变化都应该让处理器获悉。

尽管能适当了解所有与调试有关的特性,但 ISB 不足以让跟踪流显示变化。因此,跟踪会在当前的路标上停止,可能会直到下一个异常进入或返回,也可能会到下一个串行分支,即使在执行 ISB 时也是如此。

一个串行分支是以下内容之一:

用 S 位设置(例如,MOVS PC,r14)对 PC 进行数据处理
LDM pc ^

AR# 47585
日期 05/25/2018
状态 Active
Type 设计咨询
器件
  • Zynq-7000
的页面