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

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

FPGAの部屋

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

Vitis_Libraries/vision/L3/examples/colordetect/をやってみた3

Vitis_Libraries/vision/L3/examples/colordetect/をやってみた2”の続き。

Vitis_Libraries/vision/L3/examples/colordetect/をやってみるということで、xclbin をビルドして、sd_card ディレクトリを作成させた。今回は、Vivado HLS プロジェクトと Vivado プロジェクトを確認した。今回は、Ultra96-V2 の実機で動作させてみよう。

Ultra96-V2 の電源をON して、PetaLinux を起動した。

Vitis_Libraries/vision/L3/examples/colordetect/build/xclbin_ultra96v2_min2_hw/sd_card ディレクトリに行って、BOOT.BIN を Ultra96-V2 の /run/media/mmcblk0p1 に SFTP する。
scp BOOT.BIN 192.168.3.23:/run/media/mmcblk0p1
Vitis_Vision_60_200331.png

Ultra96-V2 のターミナルで /home/root にあった resize の sd_card ディレクトリを resize_sd_card に名前を変更した。

Vitis_Libraries/vision/L3/examples/colordetect/build ディレクトリに行って、 sd_card ディレクトリ以下をすべて Ultra96-V2 の /home/root にコピーした。
scp -r sd_card 192.168.3.23:/home/root
Vitis_Vision_61_200331.png

Ultra96-V2 のターミナルでみると、 /home/root ディレクトリの下に、 sd_card ディレクトリがコピーできている。
reboot を行った。
Vitis_Vision_62_200331.png

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

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

Vitis_Vision_63_200331.png

Vitis_Vision_64_200331.png

ログを示す。

root@ultra96v2_min2:~/sd_card# ./init.sh 
INFO: Thresholds loaded.
INFO: Running OpenCL section.
[  148.580915] [drm] Pid 2199 opened device
[  148.584874] [drm] Pid 2199 closed device
[  148.599875] [drm] Pid 2199 opened device
Found Platform
Platform Name: Xilinx
INFO: Device found - edge
XCLBIN File Name: krnl_colordetect
INFO: Importing xclbin_ultra96v2_min2_hw/krnl_colordetect.xclbin
Loading: 'xclbin_ultra96v2_min2_hw/krnl_colordetect.xclbin'
[  148.885583] [drm] Finding IP_LAYOUT section header
[  148.885595] [drm] Section IP_LAYOUT details:
[  148.890421] [drm]   offset = 0x54fcf8
[  148.894690] [drm]   size = 0x58
[  148.898375] [drm] Finding DEBUG_IP_LAYOUT section header
[  148.901505] [drm] AXLF section DEBUG_IP_LAYOUT header not found
[  148.906810] [drm] Finding CONNECTIVITY section header
[  148.912725] [drm] Section CONNECTIVITY details:
[  148.917770] [drm]   offset = 0x54fd50
[  148.922290] [drm]   size = 0x40
[  148.925949] [drm] Finding MEM_TOPOLOGY section header
[  148.929081] [drm] Section MEM_TOPOLOGY details:
[  148.934122] [drm]   offset = 0x54fc00
[  148.938643] [drm]   size = 0xf8
[  148.946261] [drm] No ERT scheduler on MPSoC, using KDS
[  148.954931] [drm] Fail to install CU 0 interrupt handler: -22. Fall back to polling mode.
[  148.963100] [drm] scheduler config ert(0)
[  148.963110] [drm]   cus(1)
[  148.967114] [drm]   slots(16)
[  148.969807] [drm]   num_cu_masks(1)
[  148.972765] [drm]   cu_shift(16)
[  148.976245] [drm]   cu_base(0xa0000000)
INFO: Verification results:
 Percentage of pixels above error thr[  148.979466] [drm]   polling(1)
eshold = 0%
[  149.751149] [drm] zocl_free_userptr_bo: obj 0x00000000ec26f684
[  149.755875] [drm] zocl_free_userptr_bo: obj 0x000000007590285b
[  149.762818] [drm] zocl_free_userptr_bo: obj 0x00000000bd481cc0
[  149.877791] [drm] Pid 2199 closed device
root@ultra96v2_min2:~/sd_card# 


INFO: Verification results:
Percentage of pixels above error threshold = 0%

なので、うまく行ったようだ。

出力された画像ファイル、 diff.png, output.png, outputref.png を SFTP でホスト・パソコンに持ってくる。
scp 192.168.3.23:/home/root/sd_card/diff.png .
scp 192.168.3.23:/home/root/sd_card/ouput.png .
scp 192.168.3.23:/home/root/sd_card/output.png .

Vitis_Vision_65_200331.png

元画像の colordetect_4k_input.jpeg を示す。
Vitis_Vision_66_200401.jpg

diff.png を示す。
Vitis_Vision_67_200401.jpg

output.png を示す。
Vitis_Vision_68_200401.jpg

outputref.png を示す。
Vitis_Vision_69_200401.jpg
  1. 2020年04月01日 05:05 |
  2. Vitis_Vision
  3. | トラックバック:0
  4. | コメント:0