Arria 10 SoCブート・ユーザーガイド

ID 683735
日付 10/30/2015
Public
ドキュメント目次

1.5.2. QSPIを使用したブートローダの生成例

  1. SoC EDSエンベデッド・コマンドシェルを起動します
    $ ~/altera/15.0/embedded/embedded_command_shell.sh
  2. SoC EDSエンベデッド・コマンドシェルからBSPエディタ・ツールを起動します
    $ bsp-editor
  3. File > New HPS BPSを選択し、画面上で新規にHPS BSP を作成した後、以下をコンフィギュレーションします
    1. Preloader settingsディレクトリでハードウェアHPSハンドオフ・フォルダを指定します
    2. Specify the boot loader sources folder in the BSP target directoryテキスト・ボックスでブートローダ・ソース・フォルダを指定します
    3. BSP Settings File nameテキスト・ボックスでブートローダ・コンフィギュレーションおよび設定ファイルを指定します
    図 23. 新規のBSPエディタ画面の選択
    図 24. 新規のBSP設定のコンフィギュレーション
  4. 各項目の設定完了後、OKをクリックし、mainメニュー・タブでソースboot_device(QSPI)を指定します
    注: .rbfファイルは、SD/MMCからブートする場合にのみ適用されます。QSPIコンフィギュレーションでは、これらのテキスト・ボックスに変更を加える必要はありませんが、その代わりに変換スクリプトを介してシングル.rbfファイルを作成する必要があります。
    図 25. BSPエディタ画面でQSPIデバイスからブートを選択する
  5. Generateを選択すると、BSPターゲット・ディレクトリとして指定したフォルダ内にブートローダおよびU-Bootソース・ファイルが作成されます
  6. U-Bootブートローダ・ソース・フォルダを移動し、イメージをビルドします
    $ cd ~/a10_soc_devkit_ghrd/software/arria10_uboot_bsp
    $ make

    以下のアイテムが~/a10_soc_devkit_ghrd/software/arria10_uboot_bsp/フォルダ内に生成されます。

    表 5.  ブートローダ実行可能イメージ
    ファイル 説明
    u-boot_w_dtb.bin デバイス・ツリー・バイナリを持つU-boot実行可能ファイル
    uboot_w_dtb-mkpimage.bin mkpimageヘッダを持つU-boot実行可能ファイル
    注: 第2ステージ・ブートローダ・ソースとしてUEFIの使用を選択する場合は、この段階で「付録 B:UEFIブートローダのビルド」を参照してください。
  7. QSPIからブートする場合、FPGAコア・ファブリック・コンフィギュレーションとI/Oリング設定の両方を含むシングル.rbfファイルが必要です。これは、別の.rbfファイルが必要なSD/MMCブートとは異なる要件です。エンベデッド・コマンドシェルで以下を入力することで変換を実行することができます。
    $ ~/altera/15.0/embedded/embedded_command_shell.sh
    $ cd ~/a10_soc_devkit_ghrd/
    $ quartus_cpf -c -o bitstream_compression=on output_files/ghrd_10as066n2.sof output_files/ghrd_10as066n2.rbf

    このコマンドにより、FPGAファブリックとI/Oリング・コンフィギュレーションが組み合わされたファイルがghrd_10as066n2.rbfという名称で~/a10_soc_devkit_ghrd/output_files/フォルダに作成されます。

  8. U-BootソフトウェアがFPGAイメージ・ファイルのロードが可能となる前に、長さやCRCといったイメージの情報が必要です。このような情報は、エンベデッド・コマンドシェルよりmkimageツールを実行することでU-bootツールへ渡されます。
    $ ~/altera/15.0/embedded/embedded_command_shell.sh
    $ cd ~/a10_soc_devkit_ghrd/
    $ mkimage -A arm -T firmware -C none -O u-boot -a 0 -e 0 -n "A10 GHRD RBF" -d
    output_files/ghrd_10as066n2.rbf  output_files/ghrd_10as066n2.rbf.bin

    このコマンドにより、U-BootヘッダにラップされたFPGAファブリックとI/Oリング・コンフィギュレーションが組み合わされたファイルが作成されます。生成されるファイルの名称はghrd_10as066n2.rbf.binファイルで、~/a10_soc_devkit_ghrd/output_files/ghrd_10as066n2.rbf.binフォルダ内に位置します。

  9. HPS Flash Programmerは、U-Bootとデバイス・ツリーのイメージ、および.rbfファイルをQSPIブート・カードへ書き込むために使用します。HPS Flash Programmerへの入力ファイルには常に.bin拡張子が必要です。ファイルにこの拡張子がない場合、ファイル名を変更する必要があります。U-Bootとデバイス・ツリーのイメージをQSPIへ書き込むには、以下のコマンドを入力します。
    $ ~/altera/15.0/embedded/embedded_command_shell.sh
    $ quartus_hps -c 1 -o PV ~/a10_soc_devkit_ghrd/software/arria10_uboot_bsp/uboot_w_dtb-mkpimage.bin

    このコマンドの完了には2分ほど要します。

  10. QSPIへ.rbfファイルを書き込むには、以下のコマンドを入力します。
    $ ~/altera/15.0/embedded/embedded_command_shell.sh
    $ quartus_hps -c 1 -o PV -a 0x720000 ~/a10_soc_devkit_ghrd/output_files/ghrd_10as066n2.rbf.bin

    このコマンドの満了には45分ほど要します。アルテラは、現段階ではHPS Flash Programmerを使用したプログラミングを推奨していますが、今後のアップデートでは、これらのステップを高速化を図るにはU-Bootコンソールの使用を推奨します。

  11. ボードに電力を供給します。QSPIからブートし、U-Bootコンソールで停止します。