AR# 47585

Zynq-7000 SoC、APU - ISB 命令ではトレースをイネーブル/ディスエーブルするデバッグ イネーブル アクセス権限が可視にならない

説明

デバッグ関連の機能はすべて正しく可視になりますが、ISB 命令では認証ステータス レジスタの変更がトレース フローに対して可視になりません。 

そのため、ISB が実行されても、トレースが現在のウェイポイントで次の例外エントリ、リターン、または次のシリアル分岐まで停止します。

この問題を回避するには、ISB 命令を変更を可視にするイベントのいずれかに置き換えます。具体的には、ISB を次の命令への MOVS PC に置き換えると正しく機能します。

ソリューション

影響:

深刻な問題ではありません。トレース フローがプログラムで予測されるように開始または停止しない可能性があります。

回避策:

ISB 命令を変更を可視にするイベントのいずれかに置き換えます。具体的には、ISB を次の命令への MOVS PC に置き換えると正しく機能します。

対象となる構成:

Arm プロセッサのトレース機能を使用するシステム

対象となるデバイス リビジョン:すべて。修正の予定はありません。(Xilinx Answer 47916) - 「Zynq-7000 デザイン アドバイザリ マスター アンサー」を参照してください。


Arm アーキテクチャでは、認証ステータス レジスタの変更は、例外エントリ、リターン、または ISB 命令によりプロセッサに対して可視になるはずです。

これはデバッグ関連の機能に対しては正しく機能しますが、ISB 命令では認証ステータス レジスタの変更がトレース フローに対して可視になりません。そのため、ISB が実行されても、トレースが現在のウェイポイントで次の例外エントリ、リターン、または次のシリアル分岐まで停止します。

シリアル分岐は、次のいずれかです。

PC に対する S ビット セットでのデータ処理 (MOVS pc、r14 など)
LDM pc ^

AR# 47585
日付 05/25/2018
ステータス アクティブ
種類 デザイン アドバイザリ
デバイス