Ultra96 ボードでデバイスツリー・オーバーレイをテストする5”の続き。

前回は、Ultra96 でデバイスツリー・オーバーレイでLinux が動作中にデバイスツリーを入れ替えて、異なるハードウェアを動作させることができた。今回は、そのやり方を紹介する。

デバイスツリー・オーバーレイを行うのは、negative と DMA_pow2 だ。2つのディレクトリともに lddtovray.sh と rmdtovray.sh を用意してある。 lddtovray.sh はデバイスツリー・オーバーレイをロードするバッチ・ファイルで、rmdtovray.sh はデバイスツリー・オーバーレイを削除するバッチ・ファイルだ。

negative の lddtovray.sh を示す。

#!/bin/bash

sudo mkdir /config/device-tree/overlays/fpga
sudo cp fpga-load.dtb /config/device-tree/overlays/fpga/dtbo
sudo mkdir /config/device-tree/overlays/fclk0
sudo cp fclk0-zynqmp.dtb /config/device-tree/overlays/fclk0/dtbo
sudo mkdir /config/device-tree/overlays/negative
sudo cp negative.dtb /config/device-tree/overlays/negative/dtbo


negative の rmdtovray.sh を示す。

!/bin/bash

sudo rmdir /config/device-tree/overlays/negative
sudo rmdir /config/device-tree/overlays/fclk0
sudo rmdir /config/device-tree/overlays/fpga


DMA_pow2 の lddtovray.sh を示す。

#!/bin/bash

sudo mkdir /config/device-tree/overlays/fpga
sudo cp fpga-load.dtb /config/device-tree/overlays/fpga/dtbo
sudo mkdir /config/device-tree/overlays/fclk0
sudo cp fclk0-zynqmp.dtb /config/device-tree/overlays/fclk0/dtbo
sudo mkdir /config/device-tree/overlays/DMA_pow2_test
sudo cp DMA_pow2_test.dtb /config/device-tree/overlays/DMA_pow2_test/dtbo


DMA_pow2 の rmdtovray.sh を示す。

!/bin/bash

sudo rmdir /config/device-tree/overlays/DMA_pow2_test/
sudo rmdir /config/device-tree/overlays/fclk0
sudo rmdir /config/device-tree/overlays/fpga/


lddtovray.sh と rmdtovray.sh を使用したデバイスツリー・オーバーレイを使用して、negative を実行してから、DMA_pow2 を実行する方法を示す。
1. 最初に negative のデバイスツリー・オーバーレイをロードする。
2. ./negative_test2 を実行する。
3. negative のデバイスツリー・オーバーレイを削除する。
4. DMA_pow2 のデバイスツリー・オーバーレイをロードする。
5. ./DMA_pow2_test2 を実行する。

cd ~/examples/negative
./lddtovray.sh
sudo ./negative_test2
./rmdtovray.sh
cd ../DMA_pow2
./lddtovray.sh
sudo ./DMA_pow2_test2


01d29593.png

32537a71.png

c6f3975e.png


その後は、./rmdtovray.sh を行えば、また、異なるハードウェアをロードして試すことができる。とても便利だ。
ikzwm さん、ありがとうございます。