Skip to content

Latest commit

 

History

History
126 lines (73 loc) · 4.19 KB

README.md

File metadata and controls

126 lines (73 loc) · 4.19 KB

Kria KV260 で Raspberry Pi Camera Module V2 (Sony IMX219) を動かす

概要

Kria KV260 で Raspberry Pi Camera Module V2 (Sony IMX219) を動かすサンプルです。

環境

PC環境

vivado2021.2 を用いております。

KV260環境

認定Ubuntu 環境にて試しております。

image       : iot-kria-classic-desktop-2004-x03-20211110-98.img
Description : Ubuntu 20.04.4 LTS
kernel      : 5.4.0-1017-xilinx-zynqmp

OpenCV

sudo apt update
sudo apt install libopencv-dev

動かし方

gitリポジトリ取得

git clone https://github.com/ryuz/jelly.git

で一式取得してください。

PC側の Vivadoで bit ファイルを作る

projects/kv260/kv260_imx219/syn/vivado2021.2

に移動して Vivado から kv260_imx219.xpr を開いてください。

最初に BlockDesign を tcl から再構成する必要がります。

Vivado メニューの「Tools」→「Run Tcl Script」で、プロジェクトと同じディレクトリにある update_design.tcl を実行すると再構築を行うようにしています。

うまくいかない場合は、既に登録されている i_design_1 を手動で削除してから、design_1.tcl を実行しても同じことができるはずです。

design_1 が生成されたら「Flow」→「Run Implementation」で合成を行います。正常に合成できれば

kv260_imx219.runs/impl_1

に kv260_imx219.bit が出来上がります。

KV260 でPSソフトをコンパイルして実行

projects/kv260/kv260_imx219/app の内容一式と先ほど合成した kv260_imx219.bit を、KV260 の Ubuntu で作業できる適当なディレクトリにコピーします。bitファイルも同じ app ディレクトリに入れてください。

を、KV260 側では Ubuntu が起動済みで ssh などで接続ができている前提ですので scp や samba などでコピーすると良いでしょう。app に関しては を、KV260 から git で clone することも可能です。

この時、

  • OpenCV や bootgen など必要なツールがインストールできていること
  • ssh ポートフォワーディングなどで、PCに X-Window が開く状態にしておくこと
  • /dev/uio や /dev/i2c-6 などのデバイスのアクセス権が得られること
  • sudo 権限のあるユーザーで実行すること

などの下準備がありますので、ブログなど参考に設定ください。

問題なければ、app をコピーしたディレクトリでb

make all

と実行すれば kv260_imx219.out という実行ファイルが生成されます。

ここで

make run

とすると、Device Tree overlay によって、bit ファイルの書き込みなどを行った後にプログラムが起動し、ホストPCの方の X-Window に、カメラ画像が表示されるはずです。

なお、Device Tree overlay のロード/アンロードは

make load
make unload

といったコマンドで実施可能です。

なお、デフォルトで 1280x720サイズでの撮影モードで起動しますが、

make load
./kv260_imx219.out 1000fps

のようにすれば、640x132での 1000fps モードにも切り替わります(カメラが1000fpsで動くだけで、表示は間引かれて60fpsです)。

その他の細かいコマンドは main.cpp の中を確認ください。

参考情報