インテルのみ表示可能 — GUID: omp1629599824221
Ixiasoft
2.3.8.4. デバッグモードの抽象コマンド
Nios® V/mプロセッサーでは、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/mプロセッサーでは、抽象コマンドはサポートしません。
フィールド | ステート | |
---|---|---|
cmderr[10:8] | 0 | エラーなし |
1 | ビジー | |
2 | コマンドはサポートされていません。 | |
3 | プログラムバッファー命令からの例外 | |
4 | Hartが使用できないか、コマンドを実行するのに適切なステートでないため、コマンドは実行されません。 | |
5 | バスエラーにより抽象コマンドが失敗しました。 | |
6 | RSVD | |
7 | 他の理由でコマンドが失敗しました。 |
図 5. Debug Moduleインターフェイス信号
Avalon® メモリーマップド・インターフェイスによるRegister Accessの実装は、リクエスト/レスポンスバスを使用します。このとき、デバッグモジュールがイニシエーターで、コアがレスポンダーです。アドレスバスにより、レジスターIDを伝送します。