”
デバイスツリー・オーバーレイをテストするためのVivado 2018.2 のプロジェクトを作成する2”の続き。
前回は、デバイスツリー・オーバーレイをテストするためのVivado 2018.2 のプロジェクトで、SDK を起動して、ベアメタル・アプリケーションで2乗回路が動作することを確認した。今回は、ikwzm さんの”
UltraZed 向け Debian GNU/Linux で AXI HPC port を使う (実践編1)”を参照しながら、デバイスツリー・オーバーレイをやってみよう。
まずは、bin ファイルを作成しよう。
ここからは、パソコン側の作業だ。
DMA_pow2_warpper.bif を作成した。

bootgen で bin ファイルに変換する。
bootgen -image DMA_pow2_test_wrapper.bif -arch zynqmp -w -o DMA_pow2_test_wrapper.binbin ファイルが生成された。

次に、デバイスツリー・オーバーレイでFPGA のコンフィグレーションをやってみる。
ここからは、Ultra96 ボード上のDebian での作業となる。
fpga-load.dts を作成した。

bin ファイルをFTP で持ってきたので、/lib/firmware/ にコピーする。
sudo cp DMA_pow2_test_wrapper.bin /lib/firmware/
ls /lib/firmware/
dtc で fpga-load.dts をコンパイルした。
dtc -I dts -O dtb -o fpga-load.dtb fpga-load.dts
Warning が出ている。
fpga-load.dtb: Warning (unit_address_vs_reg): Node /fragment@0 has a unit name, but no reg property
fpgaをコンフィグレーションしてみよう。
sudo mkdir /config/device-tree/overlays/fpga
sudo cp fpga-load.dtb /config/device-tree/overlays/fpga/dtbo
シリアル・コンソールに
fpga_manager fpga0: writing DMA_pow2_test_wrapper.bin to Xilinx ZynqMP FPGA Manager
と表示された。

成功だ。ただ、DONE のLED が一瞬でも消えなかったのが気になる。
次に、デバイスツリー・オーバーレイでクロックの設定を行う。
fclk0-zynqmp.dts を作成した。

デバイスツリーをコンパイルした。
dtc -I dts -O dtb -o fclk0-zynqmp.dtb fclk0-zynqmp.dts
fpga-load.dts のときと同じWarning が出た。
デバイスツリーをロードする。
sudo mkdir /config/device-tree/overlays/fclk0
sudo cp fclk0-zynqmp.dtb /config/device-tree/overlays/fclk0/dtbo
エラーになってしまったようだ。

[ 1826.637372] OF: resolver: no symbols in root of device tree.
[ 1826.643042] OF: resolver: overlay phandle fixup failed: -22
[ 1826.648592] create_overlay: Failed to resolve tree
dpkg -l してみると fclkcfg-4.14.0 があった。
- 2018年10月23日 04:48 |
- Ultra96
-
| トラックバック:0
-
| コメント:0