FC2カウンター FPGAの部屋 並列ステレオカメラによる距離の測定8(Ubuntuで動作するアプリケーションを作る1)

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

FPGAの部屋

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

並列ステレオカメラによる距離の測定8(Ubuntuで動作するアプリケーションを作る1)

並列ステレオカメラによる距離の測定7(ZYBO 0 のハードウェア6)完成2”の続き。

前回、Linuxを起動しなくても問題ないように standalone で動作するラプラシアンフィルタのアプリケーションを作製したが、やはり今後のためにもZYBO 上のUbuntu 14.04 LTS で動作するアプリケーションを作製しようと思う。
そのためには、最初にSDK でBOOT.bin を作製し、パソコンのVirtualBox 上のUbuntu 14.04 LTS で devicetree を作製しMicro SD カードにコピーする必要がある。

SDKで FSBL を作製した。
StereoCam_107_151128.png

Project Exploer 上でFSBL を右クリックし、右クリックメニューからCreate Boot Image を選択した。

Creater Zynq Boot Image ダイアログが開いた。u-boot.elf を追加してから、Create Image ボタンをクリックした。
StereoCam_108_151128.png

BOOT.bin ができた。
StereoCam_109_151128.png

次に devicetree.dtb を作る。

パソコンでUbuntu 14.04 LTS を起動した。

ZYBOにHDLで書いたラプラシアンフィルタを実装する9(devicetreeの生成、/sys, /devディレクトリ)”で作った driver_hls_hdl_lap_fil をコピーして、貼り付け、名前を drivers_ZYBO_0 に変更した。

zynq-zybo.dts を編集して、Address Editor に表示される通りに
StereoCam_96_151124.png

UIO のエントリを追加した。
StereoCam_110_151128.png

mt9d111_axi_iic@0x41600000 {
compatible = "generic-uio";
reg = < 0x41600000 0x10000>;
};
axi_vdma_0@43000000 {
compatible = "generic-uio";
reg = < 0x43000000 0x10000 >;
};
axis_switch_0@0x43c10000 {
compatible = "generic-uio";
reg = < 0x43c10000 0x10000 >;
};
axis_switch_1@0x43c20000 {
compatible = "generic-uio";
reg = < 0x43c20000 0x10000 >;
};
lap_filter_axis_0@0x43c30000 {
compatible = "generic-uio";
reg = < 0x43c30000 0x10000>;
};
mt9d111_inf_axis_0@0x43C40000 {
compatible = "generic-uio";
reg = < 0x43C40000 0x10000>;
};
bitmap_disp_cntrler_axi_master_0@0x43c00000 {
compatible = "generic-uio";
reg = < 0x43c00000 0x10000>;
};
bitmap_disp_cntrler_axi_master_1@0x43c50000 {
compatible = "generic-uio";
reg = < 0x43c50000 0x10000>;
};
axi_gpio_0@0x41200000 {
compatible = "generic-uio";
reg = < 0x41200000 0x10000>;
};
frame_buffer_bmdc@0x17800000 {
compatible = "generic-uio";
reg = < 0x17800000 0x1000000>;
};


zynq-zybo.dts をセーブして閉じた。

LX Terminal で drivers_ZYBO_0 ディレクトリに入った。

../Linux-Digilent-Dev/scripts/dtc/dtc -I dts -O dtb -o devicetree.dtb zynq-zybo.dts コマンドで、zynq-zybo.dts を dtc でコンパイルして、devicetree.dtb を生成した。
StereoCam_111_151128.png

Micro SD カードに BOOT.bin と devicetree.dtb をコピーした。
StereoCam_112_151128.png

Micro SD カードをZYBO の Micro SD カード・フォルダに戻して、ZYBO をMicro SDカードブートの設定に変更した後で、電源をON した。

起動後、ターミナル・ソフト (Tera Term) で、/sys/devices/amba.0 の下を見て、devicetree に設定したデバイスが uio いくつに対応したのかを確認した。
StereoCam_115_151128.png

StereoCam_113_151128.png
StereoCam_114_151128.png

UIO の番号順は、zynq-zybo.dts に書いた順番通りだった。
  1. 2015年11月29日 05:54 |
  2. ZYBO
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/3321-f5529b0a
この記事にトラックバックする(FC2ブログユーザー)