FC2カウンター FPGAの部屋 2020年03月26日
FC2ブログ

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

FPGAの部屋

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

Vitis Vision ライブラリの resize サンプルをやってみる3

Vitis Vision ライブラリの resize サンプルをやってみる2”の続き。

L2/examples/resize を Ultra96-V2 で動作させてみように従って、resize をビルドしたところ、sd_card ディレクトリの生成でエラーが出たが、大体一式ビルドできた。前回は、Vivado HLS の合成結果とVivado のブロックデザインとインプリメンテーションの結果をみた。今回は、Ultra96-V2の実機で動作させたところ、実機で動作した。

Vitis Vision ライブラリの resize サンプルをやってみる1”でのビルドは、最後エラーで終了していた。これは、resize/build にある Makefile の 447 行目がエラーを出していたので、先に進まなかったので、そこをコメントアウトした。
それからもう一度、make run した。
make run TARGET=hw BOARD=Zynq ARCH=aarch64
Vitis_Vision_20_200324.png

Vitis_Vision_21_200324.png

Vitis_Libraries/vision/L2/examples/resize/build/xclbin_ultra96v2_min2_hw/sd_card に BOOT.BIN があるので、そのディレクトリに cd した。
ホスト・パソコンから scp で BOOT.BIN をUltra96-V2 の MicroSD カードの第 1 パーティションに SFTP した。
sudo su
scp BOOT.BIN 192.168.3.23:/run/media/mmcblk0p1

Vitis_Vision_22_200325.png

gtk_term から reboot した。
Vitis_Vision_23_200325.png

Vitis_Libraries/vision/L2/examples/resize/build に cd して、ホスト・パソコンから scp で sd_card ディレクトリを Ultra96-V2 の /home/root に SFTP した。
scp -r sd_card 192.168.3.23:/home/root

PetaLinux が起動したら、root でログインした。

Ultra96-V2 のPetaLinux 上で zocl ドライバを起動した。
insmod /lib/modules/4.19.0-xilinx-v2019.2/extra/zocl.ko

cd sd_card してから、init.sh を起動した。
init.sh の内容を示す。

export XCL_BINDIR=xclbin_ultra96v2_min2_hw
./resize.exe 4k.jpg


XRT へのパスを通し、init.sh を実行形式にしてから init.sh を起動した。
export XILINX_XRT=/usr
chmod +x init.sh
./init.sh

すると、resize が動作した。 xf_resize_tb.cpp の表示メッセージを示す。

7.64396ms
Minimum error in intensity = 0.000000
Maximum error in intensity = 0.000000
Percentage of pixels above error threshold = 0.000000


Vitis_Vision_24_200325.png

すべての表示メッセージを示す。

root@ultra96v2_min2:~/sd_card# ./init.sh
INFO: Running OpenCL section.
[  241.129790] [drm] Pid 2209 opened device
[  241.133756] [drm] Pid 2209 closed device
[  241.137937] [drm] Pid 2209 opened device
Found Platform
Platform Name: Xilinx
INFO: Device found - edge
XCLBIN File Name: krnl_resize
INFO: Importing xclbin_ultra96v2_min2_hw/krnl_resize.xclbin
Loading: 'xclbin_ultra96v2_min2_hw/krnl_resize.xclbin'
[  241.431732] [drm] Finding IP_LAYOUT section header
[  241.431745] [drm] Section IP_LAYOUT details:
[  241.436574] [drm]   offset = 0x54fcf8
[  241.440844] [drm]   size = 0x58
[  241.444504] [drm] Finding DEBUG_IP_LAYOUT section header
[  241.447633] [drm] AXLF section DEBUG_IP_LAYOUT header not found
[  241.452937] [drm] Finding CONNECTIVITY section header
[  241.458853] [drm] Section CONNECTIVITY details:
[  241.463897] [drm]   offset = 0x54fd50
[  241.468418] [drm]   size = 0x1c
[  241.472080] [drm] Finding MEM_TOPOLOGY section header
[  241.475209] [drm] Section MEM_TOPOLOGY details:
[  241.480250] [drm]   offset = 0x54fc00
[  241.484771] [drm]   size = 0xf8
[  241.490974] [drm] No ERT scheduler on MPSoC, using KDS
[  241.499685] [drm] Fail to install CU 0 interrupt handler: -22. Fall back to polling mode.
[  241.507859] [drm] scheduler config ert(0)
[  241.507862] [drm]   cus(1)
[  241.511862] [drm]   slots(16)
[  241.514555] [drm]   num_cu_masks(1)
[  241.517513] [drm]   cu_shift(16)
[  241.520992] [drm]   cu_base(0xa0000000)
7.64396ms
Minimum error in intensity = 0.000000
Maximum error in intensity = 0.000000
Percentage of pixels above error threshold = 0.000000
[  241.524213] [drm]   polling(1)
[  241.831235] [drm] Pid 2209 closed device
root@ultra96v2_min2:~/sd_card# 


/home/root/sd_card ディレクトリに生成されていたのは、input_png だけだった。リサイズ後のファイルは無いのか?と xf_resize_tb.cpp を見ると、リサイズ後のファイルは生成されていなかった。
Vitis_Vision_25_200325.png

input.png を scp でホスト・パソコンに持ってきた。
sudo su
scp 192.168.3.23:/home/root/sd_card/input.png .

Vitis_Vision_26_200325.png

input.png を見ると、1920 x 1080 ピクセルつまり、HD 解像度の白黒画像だった。
Vitis_Vision_28_200326.jpg

sd_card ディレクトリの 4k.jpg 元画像も、1920 x 1080 ピクセルつまり、HD 解像度のカラー画像だった。4k 画層ではなかったのか?なぜ?
  1. 2020年03月26日 04:52 |
  2. Vitis_Vision
  3. | トラックバック:0
  4. | コメント:0