FC2カウンター FPGAの部屋 ZYBOにHDLで書いたラプラシアンフィルタを実装する9(devicetreeの生成、/sys, /devディレクトリ)

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

FPGAの部屋

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

ZYBOにHDLで書いたラプラシアンフィルタを実装する9(devicetreeの生成、/sys, /devディレクトリ)

ZYBOにHDLで書いたラプラシアンフィルタを実装する8(ビットストリーム生成、BOOT,bin の生成)”の続き。

前回は、Vivado 2015.3 でストラテジーを変更したインプリメントを行って、タイミング制約を満足したインプリメント結果を使ってビットストリームを生成し、SDKを立ち上げて、BOOT.bin を生成した。
今回は、devicetree.dtb を生成して、Micro SDカードに、BOOT.bin と devicetree.dtb を書き込んで、ZYBOに挿入してUbuntu をブートし、/sys ディレクトリと /dev ディレクトリを観察する。

最初にZYBO用のデバイスツリーのソースコードを修正する。デバイスツリーのソースコードは元はDigilent-Linux をGitHub からclone した時に入っていたものだ。(Vivado and zybo linux勉強会資料3180ページ184ページ185ページ186ページ参照)
私のLinux環境は、VirtualBox にインストールした Ubuntu 14.04 なのだ。devicetree.dtb の生成は Ubuntu 14.04 上で行う。

・まずは、”Vivado HLS 2014.4でラプラシアン・フィルタ関数をaxi masterモジュールにする5(BOOT.bin, devicetree.dtb の生成)”で作った drivers_hls_lap_fil ディレクトリをコピーして、貼り付けし、名前を driver_hls_hdl_lap_fil と変更した。
lap_fil_HDL_axim_111_151104.png

・zynq-zybo.dts を gedit で編集して、lap_fil_hdl_axim の項を追加した。(UIO を使用する)
lap_fil_HDL_axim_112_151104.png
bitmap_display_cntrler_axim@43c00000 {
compatible = "generic-uio";
reg = < 0x43c00000 0x10000 >;
};
mt9d111_inf_axim@0x43c10000 {
compatible = "generic-uio";
reg = < 0x43c10000 0x10000 >;
};
mt9d111_axi_iic@0x41600000 {
compatible = "generic-uio";
reg = < 0x41600000 0x10000>;
};
frame_buffer_bmdc@0x17800000 {
compatible = "generic-uio";
reg = < 0x17800000 0x1000000>;
};
lap_filter_axim_hls@0x43c20000 {
compatible = "generic-uio";
reg = < 0x43c20000 0x10000>;
};
lap_fil_hdl_axim@0x43c30000 {
compatible = "generic-uio";
reg = < 0x43c30000 0x10000>;
};

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

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

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

・ MicroSDカードの第1パーティション ZYBO_BOOT に、前回生成したBOOT.bin と devicetree.dtb をコピーした。
lap_fil_HDL_axim_114_151105.png

・ZYBO にMicroSDカードを挿入して、電源ONした。

・シリアルコンソールにブートメッセージが表示された。

ifconfig コマンドを実行して、DHCPで割り振られたIPアドレスを確認した。
lap_fil_HDL_axim_115_151105.png

・SSHで確認したIPアドレスにログインした。

cd /sys/devices/amba.0/
ls コマンドを実行した。物理アドレスとモジュールが見えた。今回追加したHDL で作製したラプラシアンフィルタIPは、43c30000.lap_fil_hdl_axim だ。以前のVivado HLS 2014.4 で作製したラプラシアンフィルタIPは、43c20000.lap_filter_axim_hls も見えている。
lap_fil_HDL_axim_116_151105.png

cd 43c30000.lap_fil_hdl_axim/
ls
コマンドを実行して、43c30000.lap_fil_hdl_axim ディレクトリに入って内容を見た。
lap_fil_HDL_axim_117_151105.png

cd uio
ls
cd uio5
ls
コマンドを実行して、uio/uio5 ディレクトリに入った。
lap_fil_HDL_axim_118_151105.png

cat name version uevent コマンドを実行した。
lap_fil_HDL_axim_119_151105.png

lap_fil_hdl_axim
devicetree
MAJOR=247
MINOR=5
DEVNAME=uio5


cd /dev
ls uio*
コマンドを実行して、/dev ディレクトリに入って、uio ファイルを見た。
lap_fil_HDL_axim_120_151105.png

・/home/linaro/Apps/lap_fil_hls_1shot ディレクトリに行って、./cam_disp_uio を実行したら、カメラの画像が表示された。
./lap_fil_hls_1shot を実行したら、ラプラシアンフィルタ処理が実行された。問題は無い。
lap_fil_HDL_axim_121_151105.png
  1. 2015年11月05日 04:48 |
  2. ZYBO
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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