ad-refkitでFPGAの再コンフィギュレーション

Pocket

ad-refkit では githubにあるXilnxリポジトリのLinuxカーネルを利用しています。これは、ZYNQ PLのコンフィギュレーションに /sys/kernel/config/device-tree/overlays を使います。

ad-refkitの場合 init.sh の実行中にFPGAのコンフィギュレーション処理が含まれていますが、マニュアルで実行したい場合は次の手順で。

python3 fpga-bit2bin.py --flip design_1_wrapper.bit fpga.bin
cp /home/user/fpga.bin /lib/firmware/
rmdir /sys/kernel/config/device-tree/overlays/fpga # if exists
mkdir -p /sys/kernel/config/device-tree/overlays/fpga
dtc -I dts -O dtb -o fpga.dtb fpga.dts
cp fpga.dtb /sys/kernel/config/device-tree/overlays/fpga/dtbo

fpga-bit2bin.pyは github からダウンロードできます。

再コンフィギュレーションする場合には一度 rmdiroverlays の下の fpga ディレクトリを削除するのが肝。rm -rf ではないので注意。