Qiitaの以下の記事を参考にしています。自分用のメモです。
https://qiita.com/basaro_k/items/e83128c265ae86801bbc
https://qiita.com/lp6m/items/df1b87b11f8275ee6210
オーバーレイ用のデバイスツリーを作成する
以下で作成したxsaファイルを使用します。
source /tools/Xilinx/Vitis/2022.1/settings64.sh
mkdir kv260_vitis_platform
cd kv260_vitis_platform
xsct
createdts -hw ../kv260_hardware_platform/kv260_hardware_platform.xsa -zocl -platform-name mydevice -git-branch xlnx_rel_v2022.1 -overlay -compile -out mydevice
exit
結果、mydeviceというディレクトリが作成されます。
次に、バイナリファイルを作成します。
dtc -@ -O dtb -o mydevice/mydevice/mydevice/psu_cortexa53_0/device_tree_domain/bsp/pl.dtbo mydevice/mydevice/mydevice/psu_cortexa53_0/device_tree_domain/bsp/pl.dtsi
mkdir dtg_output
cp mydevice/mydevice/mydevice/psu_cortexa53_0/device_tree_domain/bsp/pl.dtbo dtg_output
Vitis AIの準備
vitis aiをダウンロードしておきます
git clone https://github.com/Xilinx/Vitis-AI
cd Vitis-AI
git checkout 469a4b7bc7b7213d76507c34eeb258580322befd
Petalinuxプロジェクトの作成
petalinuxの更新
source /opt/pkg/petainux/2022.1/settings.sh
petalinux-upgrade -u http://petalinux.xilinx.com/sswreleases/rel-v2022/sdkupdate/2022.1_update2/ -p "aarch64" --wget-args "--wait 1 -nH --cut-dirs=4"
petalinuxの作成
xrtを有効にします。
petalinux-create -t project -s xilinx-kv260-starterkit-v2022.1-05140151.bsp
cd xilinx-kv260-starterkit-2022.1
sed -i 's/# CONFIG_xrt is not set/CONFIG_xrt=y/g' project-spec/configs/rootfs_config
petalinxにVitis-AI-Libraryを追加
cp -r ../Vitis-AI/setup/petalinux/recipes-vitis-ai ./project-spec/meta-user/
rootfsコンフィグの修正。project-spec/meta-user/conf/user-rootfsconfig に追加する。
CONFIG_vitis-ai-library
CONFIG_vitis-ai-library-dev
CONFIG_vitis-ai-library-dbg
petalinux-config -c rootfsで、user package →vitis-ai-libraryを追加
vitis-ai-library-devを選択するとpetalinux-buildでERRORになる。
https://marsee101.blog.fc2.com/blog-entry-5761.html
ビルドする
petalinux-build
petalinux-package --boot --u-boot --force
petalinux-package --wic --images-dir images/linux/ --bootfiles "ramdisk.cpio.gz.u-boot,boot.scr,Image,system.dtb,system-zynqmp-sck-kv-g-revB.dtb" --disk-name "mmcblk1"
ビルドが成功すると、images/linuxに、petalinux-sdimage.wicという名前のファイルができている。これをSDカードにコピーして、KV260にSDカードをさせば、petalinuxが起動するはずだ。
sudo dd of=/dev/sda if=./petalinux-sdimage.wic bs=32M
sysrootの作成
Vitisで必要になるsysrootを作成します。
petalinux-build --sdk
cd image/linux/
./sdk.sh ../../../
次の投稿に続きます。