1.4.4. 実行コマンド
exec_commandプロシージャーにより、任意のSDMコマンドを実行することができます。
次の構文を使用して、sdm_command.tclファイルで指定されているSDMコマンドを16進形式で実行します。
この構文の説明
- {list_of_arguments}: 引数リストを指定するオプションの引数です。デフォルトでは、引数のリストは空のリストです。
- <device_index>: 特定のデバイス番号を提供するオプションの引数です。デフォルトでは、デバイス・インデックスは1に設定されています。
注: デバイス・インデックスが1ではなく、引数が0の場合は、コマンドで引数の空のリストを指定する必要があります。GET_USERCODEコマンドの実行で示されている例では、引数の空のリストでのシナリオを使用しています。
以下の例は、実行コマンドのさまざまな使用法を示しています。
GET_USERCODEコマンドの実行
GET_USERCODEコマンド (0x13) を実行します。引数の空のリストを使用し、デバイス・インデックスを2に設定します。
このコマンドは、SDMコマンドの実行後に、応答ヘッダーとSDMから返された応答を返します。
QSPIフラッシュからのデータの読み出し
クアッドSPIフラッシュメモリーからデータを読み出す際は、一連のSDMコマンドを実行する必要があります。
- QSPI_OPEN
- QSPI_SET_CS 1
- QSPI_READ
- QSPI_CLOSE
その他のQSPI操作 (書き込みや消去など) の実行には、Mailbox Client Intel® FPGA IP User Guideで説明されているQSPI_WRITEおよびQSPI_ERASEコマンドを参照してください。
SDMコマンド | コード (16進数) | コマンド長 コマンド長の説明 |
応答長 |
---|---|---|---|
QSPI_OPEN | 0x32 | 0 | 0 |
QSOI_SET_CS | 0x34 | 1 | 0 |
QSPI_READ | 0x3A | 2 {QSPIフラッシュアドレス、QSPIフラッシュから読み出すワード数} |
N |
QSPI_CLOSE | 0x33 | 0 | 0 |
- QSPI_OPENコマンド (0x32) を実行すると、コマンドは、応答ヘッダー値の0x00000000を返し、コマンドが正常に実行されたことを示します。
- QSPI_SET_CSコマンド (0x34) を実行すると、コマンドは、応答ヘッダー値の0x00000000を返し、コマンドが正常に実行されたことを示します。
- QSPI_READコマンド (0x3A) の実行には、2つの引数が必要です。
- argument 1: QSPIフラッシュアドレスを表します。
- argument 2: QSPIフラッシュからの読み出しが要求されているワード総数を表します。それぞれの読み出しで許可される最大数までになります。
このコマンドでは、位置0にあるSDMデバイス#1のQSPIを5ワード読み出します。応答の最初のワードである0x00005000は、応答ヘッダーです。ビット [22:12] は応答長を表し、5に設定されています。ビット [10:0] は応答のエラーコードを表し、0になっています。後続の5ワードは、QSPIフラッシュから読み出されたデータです。
単一の読み出し操作では、最大1024ワード、つまり4096バイトを読み出すことができます。それぞれの操作で許可される最大ワード数を超えて読み出す必要がある場合は、別のQSPI_READコマンドを適切なオフセットアドレスとともに実行する必要があります。注: 引数リストで複数の引数を指定する場合は、中括弧の引数リスト内ですべての引数を指定する必要があります。 - QSPI_CLOSEコマンド (0x33) を実行します。
1 このコマンドは、AS x4のコンフィグレーション・スキームではオプションです。他のすべてのコンフィグレーション・スキームでは必須です。