デバッグ中のI/Oアクセス

概要

通常のメモリを参照するメモリウィンドウでは、メモリアクセス幅指定がなく、場合によっては 同じメモリアドレスに対して複数回のアクセスをしてしまう可能性があるため、I/O空間のアクセス には適していません。

ここでは、デバッグ用のコマンドウィンドウでI/Oレジスタへのアクセスを行う方法を紹介します。

使い方

デバッグ中に、メニューの [デバッグ]-[ウィンドウ]-[PARTNER コマンドウィンドウ] をクリックすると Partner Command Window が表示されます。このウィンドウ内で、PI/POコマンド を実行することにより、 I/O空間へのアクセスが可能になります。

../_images/partner-cmd-window.png

ウィンドウ内で実行されたコマンドの履歴は、ウィンドウ上部の矢印をクリックするか、または 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空間にアクセスできますが、通常は使用しません。