デバイスの特徴を活用してみよう!

Cyclone V SoCの最大の特徴であるFPGAは、Linux動作中に動的にコンフィグレーションすることができます。実際に試してみましょう!

カーネルのコンフィグとビルド

カーネル コンフィグでFPGAドライバーが有効か確認して、コンパイルします。

							環境変数の設定
							$ . /opt/poky/2.1.1/environment-setup-cortexa8hf-neon-poky-linux-gnueabi

							ACDS15.0.1_REL_GSRD_UPDATE1_PRのtagでブランチを作成
							$ cd linux-socfpga.git
							$ git checkout -b ACDS15.0.1_REL_GSRD_UPDATE1_PR ACDS15.0.1_REL_GSRD_UPDATE1_PR

							コンフィグでFPGAドライバーが有効か確認します。

							コンパイル
							$ make zImage

							ビルドしたイメージをSDカードへコピー
							$ cp arch/arm/boot/zImage SDカードのFATパーティションのマウントポイント
						
FPGA devicesを選択

Drivers -> FPGA devicesを選択

FPGAのコンフィグレーション

FPGAのコンフィグレーションは、RBFファイルを使用します。また、カーネル モジュールがロードされているとコンフィグレーションできないため、モジュールをアンロードしておく必要があります。

							FPGAドライバー経由
							$ dd if=RBFファイル of=/dev/fpga0 bs=1M

							TRACE32経由
							B:: JTAG.PROGRAM.ALTERA RBFファイル /IRPRE 10. /DRPRE 1. /IRPOST 4. /DRPOST 1.
							※Cyclone V SoC Boardのジャンパー設定がデフォルトの場合
						
B:: SYSTEM.CONFIG

なお、JTAG 10pinにTRACE32を接続した場合は下記のコマンドを実行の上で、画像の通りの設定が必要です。

							B:: SYSTEM.CONFIG