Parterコマンドウインドウ
現在 Parterコマンドウインドウでサポートされているコマンド
コマンド |
説明 |
---|---|
PI |
指定幅でメモリをリードします。主にI/O空間に対して使用 |
PO |
指定幅でメモリをライトします。主にI/O空間に対して使用 |
PIS |
ARMv8プロセッサでシステムレジスタのリードに使用 |
POS |
ARMv8プロセッサでシステムレジスタのライトに使用 |
E |
メモリの書き込み。I/Oメモリに対しては使用不可 |
D |
メモリダンプ。I/Oメモリに対しては使用不可 |
WR |
ターゲットメモリをリードし、その内容をファイル化 |
RD |
ファイル内容をターゲットメモリに対して書き込み |
X |
シンボルダンプ |
MMU |
MMUに関連するレジスタの表示、アドレス変換など |
WRSSHOT |
スナップショットファイルの作成 |
%LOG |
デバッガの内部ログ表示 |
VER |
デバッガのバージョン表示 |
ROOTDIR |
rootdir設定コマンド |
デバッグ中のI/Oアクセス (PI/POコマンド)
概要
通常のメモリを参照するメモリウィンドウでは、メモリアクセス幅指定がなく、場合によっては 同じメモリアドレスに対して複数回のアクセスをしてしまう可能性があるため、I/O空間のアクセス には適していません。
ここでは、デバッグ用のコマンドウィンドウでI/Oレジスタへのアクセスを行う方法を紹介します。
使い方
デバッグ中に、メニューの [デバッグ]-[ウィンドウ]-[PARTNER コマンドウィンドウ] をクリックすると Partner Command Window が表示されます。このウィンドウ内で、PI/POコマンド を実行することにより、 I/O空間へのアクセスが可能になります。
ウィンドウ内で実行されたコマンドの履歴は、ウィンドウ上部の矢印をクリックするか、または ALT+↑, ALT+↓ で呼び出す事ができます。
使用可能なコマンド
Partner Command Window 内で使用できるコマンドを以下に示します。なお、書式中にある [] 内のオプションは省略可能です。
オプションの詳細は 指定可能なオプションについて を参照してください。
- PIB アドレス[,/P][,/アクセスポート]
指定された アドレス から 8bit幅でデータを読み出します。
- PIW アドレス[,/P][,/アクセスポート]
指定された アドレス から 16bit幅でデータを読み出します。
- PID アドレス[,/P][,/アクセスポート]
指定された アドレス から 32bit幅でデータを読み出します。
- POB アドレス,データ[,/P][,/アクセスポート]
指定された アドレス に 8bitの データ を書き込みます。
- POW アドレス,データ[,/P][,/アクセスポート]
指定された アドレス に 16bitの データ を書き込みます。
- 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空間にアクセスできますが、通常は使用しません。