Nios® Vプロセッサー・リファレンス・マニュアル

ID 683632
日付 5/26/2023
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

2.3.8.4. デバッグモードの抽象コマンド

Nios® V/mプロセッサーでは、Access Register抽象コマンドを実装します。Access Registerコマンドを使用すると、GPR、CSR、FPレジスター、プログラムカウンターなどのプロセッサー・レジスターへの読み出し/書き込みアクセスが可能になります。Access Registerを使用すると、プログラムバッファーからのプログラムの実行も可能になります。デバッガーによってAccess Registerコマンドを実行するには、Abstractコマンド・エンコーディングを使用して、Abstract Command (command) に書き込みます。

表 15.  アクセス・レジスター・コマンド・エンコーディング
ビットフィールド
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
表 16.  フィールドの説明
フィールド 役割
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/mプロセッサーでは、抽象コマンドはサポートしません。
表 17.  未実装コマンドに対するソフトウェアの応答
フィールド ステート
cmderr[10:8] 0 エラーなし
1 ビジー
2 コマンドはサポートされていません。
3 プログラムバッファー命令からの例外
4 Hartが使用できないか、コマンドを実行するのに適切なステートでないため、コマンドは実行されません。
5 バスエラーにより抽象コマンドが失敗しました。
6 RSVD
7 他の理由でコマンドが失敗しました。
デバッグモジュールのAbstract Control and Status CSRには cmderr が含まれています。cmderr フィールドは、実行中の抽象コマンドの現在のステートを表します。cmderr フィールドがゼロ以外の場合、command レジスターへの書き込みは無視されます。cmderr フィールドをクリアするには、フィールド内の各ビットに1を書き込みます。
図 5. Debug Moduleインターフェイス信号

Avalon® メモリーマップド・インターフェイスによるRegister Accessの実装は、リクエスト/レスポンスバスを使用します。このとき、デバッグモジュールがイニシエーターで、コアがレスポンダーです。アドレスバスにより、レジスターIDを伝送します。