AN 936: JTAGインターフェイスを介したSDMコマンドの実行

ID 683313
日付 3/29/2021
Public

1.4.4. 実行コマンド

exec_commandプロシージャーにより、任意のSDMコマンドを実行することができます。
次の構文を使用して、sdm_command.tclファイルで指定されているSDMコマンドを16進形式で実行します。
%exec_command <sdm_command> {list_of_arguments} <device_index>
この構文の説明
  • {list_of_arguments}: 引数リストを指定するオプションの引数です。デフォルトでは、引数のリストは空のリストです。
  • <device_index>: 特定のデバイス番号を提供するオプションの引数です。デフォルトでは、デバイス・インデックスは1に設定されています。
注: デバイス・インデックスが1ではなく、引数が0の場合は、コマンドで引数の空のリストを指定する必要があります。GET_USERCODEコマンドの実行で示されている例では、引数の空のリストでのシナリオを使用しています。

以下の例は、実行コマンドのさまざまな使用法を示しています。

GET_USERCODEコマンドの実行

GET_USERCODEコマンド (0x13) を実行します。引数の空のリストを使用し、デバイス・インデックスを2に設定します。

%exec_command 0x13 {} 2

このコマンドは、SDMコマンドの実行後に、応答ヘッダーとSDMから返された応答を返します。

QSPIフラッシュからのデータの読み出し

クアッドSPIフラッシュメモリーからデータを読み出す際は、一連のSDMコマンドを実行する必要があります。

  1. QSPI_OPEN
  2. QSPI_SET_CS 1
  3. QSPI_READ
  4. QSPI_CLOSE

その他のQSPI操作 (書き込みや消去など) の実行には、Mailbox Client Intel® FPGA IP User Guideで説明されているQSPI_WRITEおよびQSPI_ERASEコマンドを参照してください。

表 1.  QSPIコマンドのコードと長さ次の表では、SDMコマンドとその16進コードを適切なコマンド長と応答長とともに示しています。コマンド長の説明は、データが読み出されるQSPIフラッシュメモリーのアドレス位置です。
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
  1. QSPI_OPENコマンド (0x32) を実行すると、コマンドは、応答ヘッダー値の0x00000000を返し、コマンドが正常に実行されたことを示します。
    %exec_command 0x32
  2. QSPI_SET_CSコマンド (0x34) を実行すると、コマンドは、応答ヘッダー値の0x00000000を返し、コマンドが正常に実行されたことを示します。
    %exec_command 0x34 {0}
  3. QSPI_READコマンド (0x3A) の実行には、2つの引数が必要です。
    • argument 1: QSPIフラッシュアドレスを表します。
    • argument 2: QSPIフラッシュからの読み出しが要求されているワード総数を表します。それぞれの読み出しで許可される最大数までになります。
      %exec_command 0x3A {0 5}
      0x00005000 0x62294895 0x00000010 0x00000400 0x00000000 0x00000000

    このコマンドでは、位置0にあるSDMデバイス#1のQSPIを5ワード読み出します。応答の最初のワードである0x00005000は、応答ヘッダーです。ビット [22:12] は応答長を表し、5に設定されています。ビット [10:0] は応答のエラーコードを表し、0になっています。後続の5ワードは、QSPIフラッシュから読み出されたデータです。

    単一の読み出し操作では、最大1024ワード、つまり4096バイトを読み出すことができます。それぞれの操作で許可される最大ワード数を超えて読み出す必要がある場合は、別のQSPI_READコマンドを適切なオフセットアドレスとともに実行する必要があります。
    注: 引数リストで複数の引数を指定する場合は、中括弧の引数リスト内ですべての引数を指定する必要があります。
  4. QSPI_CLOSEコマンド (0x33) を実行します。
    %exec_command 0x33
1 このコマンドは、AS x4のコンフィグレーション・スキームではオプションです。他のすべてのコンフィグレーション・スキームでは必須です。