FC2カウンター FPGAの部屋 ZYBO用の Linaro Ubuntu のPL部にビットマップ・ディスプレイ・コントローラを搭載する4(UIOの設定2)
FC2ブログ

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

FPGAの部屋

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

ZYBO用の Linaro Ubuntu のPL部にビットマップ・ディスプレイ・コントローラを搭載する4(UIOの設定2)

ZYBO用の Linaro Ubuntu のPL部にビットマップ・ディスプレイ・コントローラを搭載する3(UIOの設定)”の続き。

前回は、、”How to Design and Access a Memory-Mapped Device in Programmable Logic from Linaro Ubuntu Linux on Xilinx Zynq on the ZedBoard, Without Writing a Device Driver — Part Two”だ。参考にする本はコミケ本で、石原ひでみさんの”Hybrid SoC Design Vol 1.0”を参考にしながら、UIO (Userspace I/O) の設定を行った。画像を表示するFrame Buffer (FB) のアドレスの設定もUIOでできないか?と考えたので、今回は引き続き追加で FB 領域をUIOに設定して見たいと思う。

Linuxカーネル・ブート時には 0x17800000 番地に 128MiB の領域を確保してあるという表示が出ている。
ZYBO_BMDCwASL_42_140927.png

ここから、HD解像度 2面分の領域を UIO で確保しようと思う。
HDの1画面分は、1920ピクセル×1080ライン×4バイト×2画面分 = 16,588,800バイト
2^24 = 16,777,216 なので、この範囲内に入る。よって、0x10000000 (16MiB)の領域を UIO で確保することにする。

zynq-zybo.dts のUIO に関する変更部分は以下の様にすることにした。

		bitmap_display_cntrler_axim@43c00000 {
compatible = "generic-uio";
reg = < 0x43c00000 0x10000 >;
};
char_rom_axil@0x43c10000 {
compatible = "generic-uio";
reg = < 0x43c10000 0x10000 >;
};
led_gpio@0x41200000 {
compatible = "generic-uio";
reg = < 0x41200000 0x10000>;
};
frame_buffer_bmdc@0x17800000 {
compatible = "generic-uio";
reg = < 0x17800000 0x10000000>;
};

ZYBO_BMDCwASL_43_140927.png

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

出来上がった devicetree.dtb をSDカードの同じファイル名のファイルと入れ替えて、Linuxをブートした。

ls -l /dev/uio* コマンドを実行した。
ZYBO_BMDCwASL_44_140927.png

4つの UIO ができていた。

次に、”ZedBaord用UbuntuにSSHをインストール”を参考にしながら、Ubuntu に SSH をインストールした。但し、aptitude コマンドがないと言われたので、sudo apt-get install ssh コマンドを使用した。また、sshd_config は編集せずに、PermitRootLogin yes のままとした。

linaro 一般ユーザーで入って、cd /sys/devices; cd amba.0 コマンドを実行すると、17800000.frame_buffer_bmdc, 41200000.led_gpio, 43c00000.bitmap_display_cntrler_axim, 4310000.char_rom_axil が見えた。
ZYBO_BMDCwASL_45_140927.png

cd 17800000.frame_buffer_bmdc/ コマンドで、17800000.frame_buffer_bmdc ディレクトリに入った。

cd uio/uio3 コマンドを実行して、/sys/devices/amba.0/17800000.frame_buffer_bmdc/uio/uio3 ディレクトリに入った。

cat name version uevent コマンドを実行したところ、下に示す結果を得た。

frame_buffer_bmdc
devicetree
MAJOR=247
MINOR=3
DEVNAME=uio3


ZYBO_BMDCwASL_46_140927.png

ZYBO用の Linaro Ubuntu のPL部にビットマップ・ディスプレイ・コントローラを搭載する5(UIOの設定3)”に続く。
  1. 2014年09月27日 04:16 |
  2. ZYBO
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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