FC2カウンター FPGAの部屋 ”Ultra96v2 Linux-Based Platform in Xilinx Vitis 2020.1”をやってみる4(2- Linux OS その2)
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

”Ultra96v2 Linux-Based Platform in Xilinx Vitis 2020.1”をやってみる4(2- Linux OS その2)

”Ultra96v2 Linux-Based Platform in Xilinx Vitis 2020.1”をやってみる3(2- Linux OS その1)”の続き。

前回、自分で Vitis 2020.1 のアクセラレーション・プラットフォームを作成したが、PetaLinux は起動しないままだった。
Ultra96v2 Linux-Based Platform in Xilinx Vitis 2020.1”を見つけたので、この通りにやってみることにしたということで、前回は、PetaLinux を使用して、”petalinux-config -c kernel”まで終了した。今回は、”2- Linux OS”の残りをやっていこう。

ultra96v2-vitis-pkg/ultra96v2-petalinux/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi を編集する。
Ultra96V2_acc_platform201_50_201015.png

以下の様に書き換えた。”Ultra96v2 Linux-Based Platform in Xilinx Vitis 2020.1”の”2- Linux OS”から引用する。
Ultra96V2_acc_platform201_51_201015.png

/include/ "system-conf.dtsi"
/ {
};
&amba {
zyxclmm_drm {
compatible = "xlnx,zocl";
status = "okay";
interrupt-parent = <&axi_intc_0>;
interrupts = <0  4>, <1  4>, <2  4>, <3  4>,
<4  4>, <5  4>, <6  4>, <7  4>,
<8  4>, <9  4>, <10 4>, <11 4>,
<12 4>, <13 4>, <14 4>, <15 4>,
<16 4>, <17 4>, <18 4>, <19 4>,
<20 4>, <21 4>, <22 4>, <23 4>,
<24 4>, <25 4>, <26 4>, <27 4>,
<28 4>, <29 4>, <30 4>, <31 4>;
};
};
&axi_intc_0 {
xlnx,kind-of-intr = <0x0>;
xlnx,num-intr-inputs = <0x20>;
interrupt-parent = <&gic>;
interrupts = <0 89 4>;
};


AR# 75417 2020.1 Zynq UltraScale+ MPSoC: UART1 をシリアルコンソールとして使用してカーネルをブートしている間に Ultra96V2 ボードがハングする”というバグがあるそうだ。 ikzwm さんによるとこのパッチはダメで、”[PATCH] tty: xilinx_uartps: Really fix id assignment”が本当のパッチということだ。
とにかく、”Ultra96v2 Linux-Based Platform in Xilinx Vitis 2020.1”通りにやってみよう。

ultra96v2-vitis-pkg/ultra96v2-petalinux/components/yocto/workspace/sources/linux-xlnx/drivers/tty/serial/xilinx_uartps.c の 1488 行目をコメントアウトする。
Ultra96V2_acc_platform201_52_201015.png

Ultra96V2_acc_platform201_53_201015.png

ultra96v2-vitis-pkg/ultra96v2-petalinux/project-spec/meta-user/conf/user-rootfsconfig に次の行を追加する。
Ultra96V2_acc_platform201_54_201015.png

Ultra96v2 Linux-Based Platform in Xilinx Vitis 2020.1”の”2- Linux OS”から引用する。

CONFIG_xrt
CONFIG_xrt-dev
CONFIG_zocl
CONFIG_opencl-clhpp-dev
CONFIG_opencl-headers-dev
CONFIG_packagegroup-petalinux-opencv


Ultra96V2_acc_platform201_55_201015.png

rootfs を設定する。
petalinux-config -c rootfs
Ultra96V2_acc_platform201_56_201015.png

user packages ですべてのパッケージにチェックを入れた。
Ultra96V2_acc_platform201_57_201015.png

< Exit > を数回選択すると、セーブ画面になるので、< Yes > を選択する。
Ultra96V2_acc_platform201_58_201015.png

PetaLinux をビルドする。
petalinux-build
Ultra96V2_acc_platform201_59_201015.png

Ultra96V2_acc_platform201_60_201015.png

ビルドは成功した。

image/linux ディレクトリに移動し、 sdk.sh を生成する。
cd images/linux
petalinux-build --sdk

Ultra96V2_acc_platform201_61_201015.png

Ultra96V2_acc_platform201_62_201015.png

成功した。

./sdk.sh
展開するディレクトリを聞かれるので、/media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/linux_files を入力した。
Ultra96V2_acc_platform201_63_201015.png

ultra96v2-vitis-pkg/linux_files に以下のディレクトリとファイルが生成された。Root File System が生成された。
Ultra96V2_acc_platform201_64_201015.png

ultra96v2-vitis-pkg/ultra96v2-petalinux/images/linux ディレクトリの以下のファイルを選択してコピーした。
Ultra96V2_acc_platform201_65_201015.png

image.ub
zynqmp_fsbl.elf
pmufw.elf
bl31.elf
u-boot.elf
rootfs.cpio


ultra96v2-vitis-pkg/linux_files/boot ディレクトリにペーストした。
Ultra96V2_acc_platform201_66_201015.png

ultra96v2-vitis-pkg/linux_files/boot ディレクトリに以下の linux.bif ファイルを作成した。”Ultra96v2 Linux-Based Platform in Xilinx Vitis 2020.1”の”2- Linux OS”から引用し、自分のディレクトリに合うように変更した。
Ultra96V2_acc_platform201_67_201015.png

/* linux */
the_ROM_image:
{
[bootloader] /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/linux_files/boot/zynqmp_fsbl.elf
[pmufw_image] /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/linux_files/boot/pmufw.elf
[destination_device=pl] <bitstream>
[destination_cpu=a53-0, exception_level=el-3, trustzone] /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/linux_files/boot/bl31.elf
[destination_cpu=a53-0, exception_level=el-2] /media/masaaki/Ubuntu_Disk/Vitis_acceleration_platform/ultra96v2-vitis-pkg/linux_files/boot/u-boot.elf
}


Ultra96V2_acc_platform201_68_201015.png
  1. 2020年10月16日 04:48 |
  2. Vitis
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/5030-3fec14a7
この記事にトラックバックする(FC2ブログユーザー)