XILINX KV260のご紹介
安価で高性能なFPGAボードとしてXILINX(ザイリンクス)からKV260 ビジョンAIスターターキットが発売されました。
日本円で、3万円台としながら、同価格帯のFPGAボードより性能がいいのが特徴になります。
今回、AI EDGEコンテスト 開催にあたり、このボードの特徴を記述します。
#KV260 の大きな特徴
XILINX社から発表された、FPGAのSOMボードです。FPGAを初めて使う人にも使ってもらえるように、工夫をされています。
考え方としては CPU がついた FPGA でという感じで、FPGA内部でLinuxが走り、その中でコントロール動作できるようになっています。まるで、コンピュータです。
安価なFPGAボードはかなり売られていますが、ほぼ同じ価格帯の商品(Ultra96)と比べて、FPGAの性能がほぼ2倍あり、いろんなインタフェースが本格的に付いてますので使いやすくなっています。
詳しくはKV260のホームページ等を見てください。
ボードの中身の紹介
すでにボードに豊富なインターフェースがついています。また、この他に、MIPIのカメラが2個つけられれます。
SDカード起動で起動します。
#必要なもの
電源 12V3AのDCアダプターが必要です。
電源変換ケーブル 電源コネクターが2.5Φになります。日本で多く売られているのが、2.1Φなので変換ケーブルが必要になります。
SDカード 16GBから32GBのマイクロSDカードが必要になります。
USBケーブル マイクロTypeBのUSBケーブルが必要になります。UARTのために使います。
イーサーネットケーブル イーサーネットがついてますので、イーサーネットケーブルが必要になます。
インターネットもつなげるようにしておくと便利です。
HDMIケーブル モニターで確認用に使用できます。
AR1335 CMOSカメラ
以上のものはKV260ベーシックアクセサリーキットに含まれています。ただし、電源については、日本で使うには、PSEマークが入っていないため、別途購入したほうが、無難になります。
SDカードイメージの作り方。
KV260用のSDカードイメージは次の方法があります。
あらかじめ用意しているものを使う。
最初から自分で作成する
今回は予め用意してある、SDカードイメージを使います。。SD カードイメージはダウンロードすれば使用できます。
自分で作りたい方は、別途ブログ記事を書いていますので、そちらを参考にしてください。
https://qiita.com/basaro_k/items/15bf24e9c4d631e53add
SDカードイメージの注意点。
現時点での最新のSDカードイメージンのバージョンは、2022.1になっています。しかし購入直後にはいきなりダウンロードして動かすことができません。
次の手順が必要になります。
- Petalinux イメージの2021.1バージョンをダウンロード、KV260で動かす。
- 2022.1用のファームウェアをダウンロード、ファームウェアを書き換える
- Petalinux イメージの2022.1バージョンをダウンロード、KV260で動かす。
Petalinuxイメージ2021.1を書き込む
1.1 Petalinuxイメージをダウンロードする。
PetalinuxのSDカードイメージは次のところに用意しています。
そこから、2021.1のイメージと2022.1のイメージをダウンロードします。
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM#PetaLinux
1.2 SDカードイメージを書き込む。
KV260用に用意した、SDカードを使って、2021.1のSDカードイメージを書き込みます。
Ethcerという、SDカードイメージを書くフリーソフトが便利です。WindowsでもLinuxでも使用できます。
https://www.balena.io/etcher/
1.3 ファイル に petalinux-sdimage-2021.1-update1.wic.xz を指定、SDHCCardにSDカードを選択して、
Flashをクリックします。ルート権限が必要なので、ウインドーが出ますが、OKを(またはパスワード)入れます。
1.4 KV260を起動します。 起動は、UARTとイーサーネット接続して、電源を入れて起動します。
UARTはターミナルソフトが使用できます。Winodwsだと、TeraTerm 、Linuxだと、gtktermなどが使えます。ボーレートは、 115200 データ8ビット長、ストップビット1ビットで動作します。ポート番号は一番小さいか(Windowsの場合)、小さい方から2番め(Linuxの場合)を指定します。
1.5 ターミナルでログインメニューがデてきます。Petalinuxで入力します。その後新しいパスワードが聞かれます。
xilinx-k26-starterkit-2021_1 login: petalinux
ここで、KV260の起動ができます。
2022.1用ファームウェアの書き換え。
2.1 下記のファームウェアのうち、Xilinx download - 2022.1_update3_BOOT.BIN をダウンロードします。
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM#Boot-Firmware-Updates
2.2 ファイルをコピーするため、KV260のIPアドレスを調べます。ifconfig のコマンドが使えます。イーサネットがパソコンと繋がってる事が前提になります。この中で、eth0の中の、inetのあとの192.168.*.*がボードのIPアドレスになります。
xilinx-k26-starterkit-2021_1:~$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.14 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::20a:35ff:fe0f:2d6e prefixlen 64 scopeid 0x20<link>
inet6 2001:ce8:110:9f64:20a:35ff:fe0f:2d6e prefixlen 64 scopeid 0x0<global>
2.3 もし、IPアドレスが割り付けられなかったら、次のコマンドでIPアドレス割付できます。
sudo ifconfig eth0 192.168.*.*
2.4 ファイルをコピーします。パソコン側で実行します。scpコマンドが使えます。Windows ではコマンドライン、Linux でターミナルを使って実行します。IP アドレスはKV 260に合わせて変更してください。KV260がのパスワードを聞いてきますので、それを入力したらコピーが始まります。
scp BOOT_xilinx-k26-starterkit-v2022.1-09152304_update3.BIN petalinux@192.168.0.14:~/
2.5 KV260側でファイルが有るのを確認します。 lsコマンドが使えます。
xilinx-k26-starterkit-2021_1:~$ ls
BOOT_xilinx-k26-starterkit-v2022.1-09152304_update3.BIN
2.6 KV260のファームウェアを書き換えます。KV260上で実行します。
sudo xmutil bootfw_update -i BOOT_xilinx-k26-starterkit-v2022.1-09152304_update3.BIN
2.7 KV260のリセットボタンを押し、再起動します。
2.8 動作しているか確認します。
sudo xmutil bootfw_update -v
2.9 電源を切るために、シャットダウンをします。
sudo shutdown -h now
Petalinuxイメージ2022.1を書き込む
3.1 SDイメージ書き込みツールを使って、SDカードイメージを書き込みます。1.2と同じ操作になります。
3.2 そのSDカードイメージでKV260を起動します。
3.3 SDカードのイメージは小さくするためすべての容量を使ってるわけではありません。この容量を大きくします。次のコマンドで残りの容量を使えるようになります。
sudo resize-part /dev/mmcblk1p2
3.3 ライブラリーをダウンロードするため、KV260をインターネットに接続します。
3.4 AIを使うための必要な画像ライブラリーをインストールします。dnf コマンドが使えます。
sudo dnf install xrt packagegroup-petalinux-opencv
3.5 Vitis AI向けライブラリーをインストールします。オンライン上で用意されていますので、KV260から直接ダウンロードして、セットアップを行います。
wget https://www.xilinx.com/bin/public/openDownload?filename=vitis-ai-runtime-2.5.0.tar.gz -O vitis-ai-runtime-2.5.0.tar.gz
tar -xzvf vitis-ai-runtime-2.5.0.tar.gz
cd vitis-ai-runtime-2.5.0/2022.1/aarch64/centos
sudo bash ./setup.sh
これで、AIを含めたライブラリーが使えるようになります。
参考資料