デバッグ中のI/Oアクセス
概要
通常のメモリを参照するメモリウィンドウでは、メモリアクセス幅指定がなく、場合によっては 同じメモリアドレスに対して複数回のアクセスをしてしまう可能性があるため、I/O空間のアクセス には適していません。
ここでは、デバッグ用のコマンドウィンドウでI/Oレジスタへのアクセスを行う方法を紹介します。
使い方
デバッグ中に、メニューの [デバッグ]-[ウィンドウ]-[PARTNER コマンドウィンドウ] をクリックすると Partner Command Window が表示されます。このウィンドウ内で、PI/POコマンド を実行することにより、 I/O空間へのアクセスが可能になります。
ウィンドウ内で実行されたコマンドの履歴は、ウィンドウ上部の矢印をクリックするか、または ALT+↑, ALT+↓ で呼び出す事ができます。
使用可能なコマンド
Partner Command Window 内で使用できるコマンドを以下に示します。なお、書式中にある [] 内のオプションは省略可能です。
PIB コマンド
- 書式
PIB アドレス,[,/P][,/アクセスポート]
- 説明
指定された アドレス から 8bit幅でデータを読み出します。 オプションの詳細は 指定可能なオプションについて を参照してください。
PIW コマンド
- 書式
PIW アドレス,[,/P][,/アクセスポート]
- 説明
指定された アドレス から 16bit幅でデータを読み出します。 オプションの詳細は 指定可能なオプションについて を参照してください。
PID コマンド
- 書式
PID アドレス,[,/P][,/アクセスポート]
- 説明
指定された アドレス から 32bit幅でデータを読み出します。 オプションの詳細は 指定可能なオプションについて を参照してください。
POB コマンド
- 書式
POB アドレス,データ[,/P][,/アクセスポート]
- 説明
指定された アドレス に 8bitの データ を書き込みます。 オプションの詳細は 指定可能なオプションについて を参照してください。
POW コマンド
- 書式
POW アドレス,データ[,/P][,/アクセスポート]
- 説明
指定された アドレス に 16bitの データ を書き込みます。 オプションの詳細は 指定可能なオプションについて を参照してください。
POD コマンド
- 書式
POD アドレス,データ[,/P][,/アクセスポート]
- 説明
指定された アドレス に 32bitの データ を書き込みます。 オプションの詳細は 指定可能なオプションについて を参照してください。
以下は、コマンドの使用例です。
0xF8008000 から8bitのデータを読み出す:
> pib 0xf8008000 address : data : bit data F8008000 03 0000 0011
物理アドレス 0x20808000 から32bitのデータをAHBで読み出す:
> pid 0x20808000,/ahb address : data : bit data 20808000 E7913003 1110 0111 1001 0001 0011 0000 0000 0011
物理アドレス 0x20808002 に16bitのデータを書き込み、それを読み出す:
> pow 0x20808002,0x55aa,/p > piw 0x20808002,/p address : data : bit data 20808002 55AA 0101 0101 1010 1010
指定可能なオプションについて
PI/POコマンドに /P オプションを指定すると、デバッガが一時的にMMUを無効にして、物理アドレスでアクセスします。
アクセスポート オプションには、/AHB, /APB が指定可能です。 /AHB が指定されると、CPUを介さずに直接物理メモリにアクセスできます。そのため、CPUが実行状態でも使用できます。 /APB を指定するとAPB空間にアクセスできますが、通常は使用しません。