FC2カウンター FPGAの部屋 KR260 で DisplayPort にカメラ画像を出力する Vitis アクセラレーション・プラットホームを作成する5
fc2ブログ

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

FPGAの部屋

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

KR260 で DisplayPort にカメラ画像を出力する Vitis アクセラレーション・プラットホームを作成する5

KR260 で DisplayPort にカメラ画像を出力する Vitis アクセラレーション・プラットホームを作成する4”の続き。

今までやってきた KR260 の Vitis アクセラレーション・プラットホーム作成を踏まえて、DisplayPort にカメラ画像を出力する Vitis アクセラレーション・プラットホームを作成しようということで、前回は、前々回のエラーはカメラ・インターフェース信号を制約していかなかったことが原因なので、その制約を追加して、Generate Bitstream したところ、place_desin_ERROR になってしまった。pclk のクロック制約を追加して、やっと、論理合成、インプリメンテーション、ビットストリームの生成が成功した。その後、プラットホームをエクスポートした。今回は、Petalinux 2022.1 を使用して、petalinux-create で、Petalinux 2022.1 プロジェクトを作成し、petalinux-config を行い、petalinux-build でビルドしたところ成功した。

今回のブログは、”KR260 で Vitis アクセラレーション・プラットフォームを作成する4”と”KR260 の kr260_custom アクセラレーション・プラットホームにいろいろな IP を追加する6”を参照している。

PetaLinux eSDK のアップグレードは適用済みだ。
アップグレードをしていない場合は、次のコマンドを実行する。
petalinux-upgrade -u http://petalinux.xilinx.com/sswreleases/rel-v2022/sdkupdate/2022.1_update1/ -p "aarch64" --wget-args "--wait 1 -nH --cut-dirs=4"

KR260 BSP 2022.1 版はダウンロード済みだ。
xilinx-kr260-starterkit-v2022.1-05140151.bsp がKR260 ディレクトリ上にある。

Petalinux 2022.1 の linux_os プロジェクトを作成する。
現在のディレクトリ階層は KR260/kr260_cam_disp_platlform だ。
cd /media/masaaki/Ubuntu_Disk/KR260/kr260_cam_disp_platform/
petalinux-create --type project -s ../xilinx-kr260-starterkit-v2022.1-05140151.bsp --name linux_os
cd linux_os

kr260_cam_disp_45_230411.png

Vivado からエクスポートした XSA ファイルをインポートする。
petalinux-config --get-hw-description ../kr260_cam_disp

FPGA Manager -> Fpga Manager に * を付けた。
kr260_cam_disp_46_230411.png

ルート ファイルシステム タイプ(Image Packaging Configuration -> Root Filesystem Type -> INITRD)は INITRD に設定されていた。
Image Packaging Configuration -> INITRAMFS/INITRD Image name -> petalinux-initramfs-image はすでに設定されていた。
Image Packaging Configuration -> Copy final images to tftpboot の * を外した。
kr260_cam_disp_47_230411.png

kr260_cam_disp_48_230411.png

Linux からの回路制御(PetaLinux版)”を参考にして、Linux カーネルに UIO ドライバをロードする。
petalinux-config -c kernel
Device Drivers -> Usespace I/O drivers を選んでクリックし、スペース・キーを押して、Userspace I/O platform driver with generic IRQ hangling を M から * にした。
Device Drivers -> Usespace I/O drivers を選んでクリックし、スペース・キーを押して、Userspace platform driver with generic irq and dynamic memory を M から * にした。
kr260_cam_disp_49_230411.png

kr260_cam_disp_50_230411.png

KR260/kr260_cam_disp_platform/linux_os/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi を編集して、

uio_pdrv_genirq.of_id=generic-uio

を追加した。
kr260_cam_disp_51_230411.png

kr260_cam_disp_52_230411.png

ROOT FS の設定
petalinux-config -c rootfs

最初に、Filesystem Packages -> console -> utils -> git -> git を有効にした。
以下のパッケージとパッケージ・グループを有効にした。

Filesystem Packages -> base -> dnf -> dnf
Filesystem Packages -> x11 -> base -> libdrm -> libdrm
Filesystem Packages -> x11 -> base -> libdrm -> libdrm-tests
Filesystem Packages -> x11 -> base -> libdrm -> libdrm-kms
Filesystem Packages -> libs -> xrt -> xrt
Filesystem Packages -> libs -> xrt -> xrt-dev
Filesystem Packages -> libs -> zocl -> zocl
Filesystem Packages -> libs -> opencl-headers -> opencl-headers
Filesystem Packages -> libs -> opencl-clhpp -> opencl-clhpp-dev
Petaliunx Package Groups -> packagegroup-petalinux -> packagegroup-petalinux
Petaliunx Package Groups -> packagegroup-petalinux-gstreamer -> packagegroup-petalinux-gstreamer
Petaliunx Package Groups -> packagegroup-petalinux-x11 -> packagegroup-petalinux-x11
Petaliunx Package Groups -> packagegroup-petalinux-opencv -> packagegroup-petalinux-opencv
Petaliunx Package Groups -> packagegroup-petalinux-opencv -> packagegroup-petalinux-opencv-dev
Petaliunx Package Groups -> packagegroup-petalinux-v4lutils -> packagegroup-petalinux-v4lutils


kr260_cam_disp_53_230411.png

ビルドを行って成功した。
petalinux-build
kr260_cam_disp_54_230411.png

linux_os/images/linux ディレクトリの様子を示す。
kr260_cam_disp_55_230411.png
  1. 2023年04月12日 04:21 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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