インテル® Agilex™ ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル

ID 683567
日付 1/19/2023
Public
ドキュメント目次

B.5.4.1. STIGの動作

Software Triggered Instruction Generator (STIG) を使用して、揮発性および不揮発性のコンフィグレーション・レジスター、レガシーSPIステータスレジスター、その他のステータスレジスターおよび保護レジスターにアクセスします。STIGは、ERASE機能の実行にも使用されます。ダイレクトアクセスおよび間接アクセス・コントローラーは、データの転送にのみ使用されます。flashcmdレジスターでは、次のパラメーターを使用して、フラッシュデバイスに発行されるコマンドを定義します。

  • 命令オペコード
  • アドレスバイト数
  • ダミーバイト数
  • 書き込みデータバイト数
  • 書き込みデータ
  • 読み出しデータバイト数

アドレスは、Flash Command Address (flashcmdaddr) レジスターを介して指定されます。これらの設定を指定後、ソフトウェアでflashcmdレジスターのExecute Command (execcmd) フィールドを使用してコマンドをトリガーし、flashcmdレジスターのCommand Execution Status (cmdexecstat) ビットをポーリングすることにより、その完了を待機することができます。コマンドごとに、最大8つのデータバイトをFlash Command Read Data Lower (flashcmdrddatalo) レジスターおよびFlash Command Read Data Upper (flashcmdrddataup) レジスターから読み出す、もしくはFlash Command Write Data Lower (flashcmdwrdatalo) レジスターおよびFlash Command Write Data Upper (flashcmdwrdataup) レジスターに書き込むことができます。

STIGは、他のすべての読み出しアクセスよりも優先度の高いコマンドを発行し、ダイレクトまたは間接コントローラーが要求しているすべての読み出しコマンドに割り込みます。ただし、STIGは、ダイレクトまたは間接アクセス・コントローラーを介して発行されている書き込みシーケンスの割り込みを行いません。このようなケースでは、flashcmdレジスターのcmdexecstatビットが動作の完了を示すまでに時間がかかることがあります。

注: インテルでは、SPIレガシーモードの代わりにSTIGを使用し、フラッシュ・デバイス・レジスターへのアクセス、および消去動作を行うことを推奨しています。