本資料ではインテル® Arria® 10 SoC 開発キットに搭載可能な QSPI(Quad SPI)ブート・フラッシュ・ドーターカードから、ベアメタルサンプル・アプリケーション ALT-HWLib-HelloWorld-Unhosted-A10-GNU をスタンドアローン実行する例を説明しています。
このベアメタルサンプル・アプリケーションは、UART 経由で “Hello from Arria 10 SoC!!!” メッセージを表示するだけのシンプルなアプリケーションです。また、このサンプルに含まれるファイル io.c は、printf() の出力を JTAG ではなく UART にリダイレクトするスタンドアローン・アプリケーションにも役立ちます。
本資料では以下の内容を説明しています。
① ハードウェア開発での重要な生成物 (ハンドオフファイル)
② SoC FPGA のブートフロー
③ ベアメタルサンプル・アプリケーションを DS-5 でビルドする方法
・DS-5 の起動
・ベアメタルサンプル・アプリケーションのインポート
・ベアメタルサンプル・アプリケーションのビルド
④ QSPI フラッシュブート用 2nd ステージ・ブートローダー(U-Boot)の生成方法
・2nd ステージ・ブートローダーとは?
・QSPI フラッシュブート用 2nd ステージ・ブートローダーの生成手順
⑤ ベアメタル・アプリケーションを QSPI フラッシュからスタンドアローン実行する例
・RBF ファイルを QSPI フラッシュに書き込む方法
・2nd ステージ・ブートローダーとアプリケーション・イメージを QSPI フラッシュに書き込む方法
・スタンドアローン実行の動作確認
Note:
本資料では、2nd ステージ・ブートローダーとして主に U-Boot を使用した例を説明しています。
non-GPL ライセンスのブートローダー・ソースとして UEFI (Unified Extensible Firmware Interface) ブートローダーを使用することもできます。UEFI ブートローダーについては、『Intel® Arria® 10 SoC UEFI BootLoader User Guide』(英語版) を参照ください。
Note:
本資料の説明においてハードウェア・デザインについては、既存の Arria® 10 SoC 開発キット向け QSPI ブート用デザインを使用しています。
本資料の説明で使用している主な開発環境を以下に示します。
【表 1‑1】 この資料の説明で使用している主な環境
項番 |
項目 |
内容 |
1 |
ホスト PC |
Linux が動作しているホスト PC(Windows PC 上に仮想マシン(VM)環境を構築して Linux を使用することでも可能です) 本資料では、Windows® 7 Professional 上に、Oracle® VM VirtualBox(以下、VirtualBox)と CentOS 6.9(以下、CentOS 6)の組み合わせによる仮想マシン環境を構築して動作の確認を行っております。 注記: U-Boot のコンパイルは Linux ホストマシンでのみサポートされています。 Windows ではサポートされていません。 仮想マシン環境の構築方法については以下のサイトをご参照ください。 |
2 |
インテル® Quartus® Prime 開発ソフトウェア・スタンダード・エディション (またはプロ・エディション) (以降、Quartus® Prime) |
SoC FPGA のハードウェアを開発するためのツールです。 この資料では、Quartus® Prime開発ソフトウェア・スタンダード・エディション v18.1 を使用しています。 Quartus Prime スタンダード・エディション v18.1 (Linux 版) 注記: この資料で説明しているデザインファイル a10_soc_devkit_ghrd_qspi.tgz を実際にコンパイルする場合は、Quartus® Prime プロ・エディションが必要になります。 注記: 使用するターゲットボードに搭載されている SoC FPGA に対応した Device データをインストールしておく必要があります。 Quartus® Prime のインストール方法については以下のサイトをご参照ください。 |
3 |
インテル® SoC FPGA エンベデッド開発スイート・スタンダード・エディション (以降、SoC EDS) |
SoC FPGA のソフトウェアを開発するためのツールです。 SoC EDS に含まれる Arm® Development Studio 5 Intel® SoC FPGA Edition (DS-5) を使用して、アプリケーション・ソフトウェアをビルドしデバッグすることができます。 この資料では、SoC EDS スタンダード・エディション v18.1 を使用しています。 SoC EDS スタンダード・エディション v18.1 (Linux 版) 注記: インテル® FPGA ダウンロード。ケーブル (USB-Blaster II) を使用したベアメタル・アプリケーションのデバッグには、Arm® Development Studio 5 Intel® SoC FPGA Edition(有償版)が必要になります。 SoC EDS のインストール方法に関しては以下のサイトをご参照下さい。 |
4 |
Arria® 10 SoC 開発キット |
本資料の説明でターゲットボードとして使用する開発キットです。 QSPI ブート・フラッシュ・ドーターカードを取り付けて使用します。 |
5 |
Arria® 10 SoC 開発キット向け QSPIブート用コンテンツ |
この資料で説明している動作確認を実際に行う場合は、本資料と併せて以下のハードウェア・デザインファイルをダウンロードしてください。 A10_SoC_DevKit_GHRD_QSPI.tgz 本資料の説明では、ダウンロードした上記ファイルを /home/Student/Temp に格納したものとして説明しています。 Note: 上記の A10_SoC_DevKit_GHRD_QSPI.tgz ファイルは、以下のページのコンテンツを参考に作成しています。 ・ Arria 10 QSPI boot hardware (v17.1: a10_soc_devkit_ghrd_qspi.tar.gz) ・ Arria 10 QSPI boot precompiled binaries (v17.1: linux-socfpga-qspi-17.1-a10.tar.gz) |
6 |
ベアメタルサンプル・アプリケーション |
本資料の説明で使用するベアメタルサンプル・アプリケーションです。 このベアメタル・アプリケーションは、UART 経由で “Hello from Arria 10 SoC!!!” メッセージを表示するだけのシンプルなアプリケーションです。 実際に動作確認を行う場合は、本資料と併せて以下のアプリケーション・ファイルを取得してください。 ALT-HWLib-HelloWorld-Unhosted-A10-GNU.tgz 本資料の説明では、ダウンロードした上記ファイルを /home/Student/Temp に格納したものとして説明しています。 |
7 |
ターミナル・エミュレーション・ソフトウェア |
このサンプルを使用するためには、シリアル・ターミナル・ソフトが必要です 。この資料では、「Tera Term」と呼ばれるフリーウェア・ソフトを使用していす。 注記: Tera Term では、ターゲットボードの UART と接続した際の有効な COM ポートに対して、以下の設定を行ってください。 ・ ボーレート 115200 bps ・ 8 ビットデータ ・ パリティなし ・ 1 ストップビット ・ フロー制御なし |
Note:
本資料は、Quartus® Prime、 SoC EDS、 bsp-editor(2nd ステージ・ブートローダー・ジェネレーター)、および DS-5 の基本的な知識を前提としています。
資料/サンプル・プロジェクト
ツール・バージョン:Ver.18.1 用ドキュメント(Rev.2)
ベアメタルサンプル・アプリケーション
Arria® 10 SoC 開発キット向け QSPI ブート用コンテンツ