このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。
3.3.10.4. デバッグモードの抽象コマンド
Nios® V/gプロセッサーでは、Access Register抽象コマンドを実装します。Access Registerコマンドを使用すると、GPR、CSR、FPレジスター、プログラムカウンターなどのプロセッサー・レジスターへの読み出し/書き込みアクセスが可能になります。Access Registerを使用すると、プログラムバッファーからのプログラムの実行も可能になります。デバッガーによってAccess Registerコマンドを実行するには、Abstractコマンド・エンコーディングを使用して、Abstract Command (command) に書き込みます。
| ビットフィールド | |||||||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| cmdtype | 0 | aarsize | aarpostincrement | postexec | transfer | write | |||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| regno | |||||||||||||||
| フィールド | 役割 |
|---|---|
| cmdtype | コマンドタイプを決定します。 0 : Access Registerコマンドを示します。 |
| aarsize | レジスターアクセスのサイズを指定します。 2: レジスターの下位32ビットにアクセス 3: レジスターの下位64ビットにアクセス 4: レジスターの下位128ビットにアクセス |
| aarpostincrement | 0: 影響なし 1: レジスターアクセス成功後regnoがインクリメントされます。 |
| postexec | 0: 影響なし 1: プログラムバッファー内のプログラムを実行します。 |
| transfer | 書き込みフィールドと連動して動作します。 0: 書き込みフィールドの値を無視します。 1: 書き込みフィールドによる指定動作を実行します。 |
| write | 0: レジスターからデータをコピーします。 1: データをレジスターにコピーします。 |
| regno | アクセスするレジスターアドレスです。 |
注: ハードウェア・スレッドが停止していない場合、 Nios® V/gプロセッサーでは、抽象コマンドはサポートされません。
| フィールド | ステート | |
|---|---|---|
| cmderr[10:8] | 0 | エラーなし |
| 1 | ビジー | |
| 2 | コマンドはサポートされていません。 | |
| 3 | プログラムバッファー命令からの例外 | |
| 4 | Hartが使用できないか、コマンドを実行するのに適切なステートでないため、コマンドは実行されません。 | |
| 5 | バスエラーにより抽象コマンドが失敗しました。 | |
| 6 | RSVD | |
| 7 | 他の理由でコマンドが失敗しました。 | |
図 9. Debug Moduleインターフェイス信号
Avalon® メモリーマップド・インターフェイスによるRegister Accessの実装は、リクエスト/レスポンスバスを使用します。このとき、デバッグモジュールがイニシエーターで、コアがレスポンダーです。アドレスバスにより、レジスターIDを伝送します。