FC2カウンター FPGAの部屋 2018年04月02日
fc2ブログ

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

FPGAの部屋

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

@ikwzmさんの”FPGA+SoC+Linux+Device Tree Overlay+FPGA Region(SDSoC対応編)”をやってみる1

@ikwzmさんの作ってくれた”FPGA+SoC+Linux+Device Tree Overlay+FPGA Region(SDSoC対応編)”をやってみることにした。
SDSoC は、プロジェクトをビルドしてSD カードに書いて、基板を起動しても RAM イメージのLinux が立ち上がってアプリケーションソフトを起動して機能を実現する方式だ。しかしそれに不満があった。SDSoC は、Root File System も指定できるようだが、それでも SDSoC 用に1つMicro SD カードを用意することには代わり無い。
私の希望は、今まで使っている育て上げてきたLinux 上で SDSoC から出力された実行ファイルが実行できるということだ。それを @ikwzmさんが”FPGA+SoC+Linux+Device Tree Overlay+FPGA Region(SDSoC対応編)”で実現してくれたので、使ってみない手は無い。。。
しかも、FPGA+SoC+Linux+Device Tree Overlay+FPGA Region を使用すれば、Linux をリブートすること無しに、FPGA のコンフィギュレーション、デバイス・ツリーのロード、PS のクロック設定ができてしまう。つまり、Linux のリブート無しに SDSoC の実行ファイルを実行できるのだ。これは使わない手は無い。。。 @ikwzm さん、ありがとうございました。

さて早速、やってみよう。
本当は、@ikwzm さんの”FPGA+SoC+Linux+Device Tree Overlay+FPGA Region(ブートイメージの提供)”の通りに Debian の Micro SD カードを作る必要があるのだが、”FPGA+SoC+Linux実践勉強会での課題をやってみた1(Vivado HLS編)”からのブログにあるように、2017年の12月にその Micro SD カードを作成してあるので、それを使うことにした。

FPGA+SoC+Linux+Device Tree Overlay+FPGA Region(SDSoC対応編)”の https://github.com/ikwzm/xlnk-kernel-module の @ikwzm が用意してくれたパッケージを使用することにした。
git clone git://github.com/ikwzm/xlnk-kernel-module
cd xlnk-kernel-module
git checkout 4.14.21-armv7-fpga
make

SDSoC_ikwzm_2_180331.png

make をしたがエラーになってしまった。 /lib/modules/4.14.21-armv7-fpga/build が無いとの事だった。

/lib/modules/ ディレクトリにあるのは、4.14.14-armv7-fpga だった。
SDSoC_ikwzm_3_180331.png

これはまずい。Makefile を 4.12.14-armv7-fpga に書き換えてみたのだが、ダメなので、もう一度、一から”FPGA+SoC+Linux+Device Tree Overlay+FPGA Region(ブートイメージの提供)”の通りに Micro SD カードを作りなおした。
ただし、ヘッダファイルもインストールした。
sudo dpkg -i linux-headers-4.14.21-armv7-fpga_4.14.21-armv7-fpga-2_armhf.deb

これで、Micro SD カードの Debian はまっさらになったので、 apt update から設定を行った。
sudo apt update
sudo apt upgrade


そして、ファイル・マネージャーの nautilus をインストール。
sudo apt install nautilus
でも、ディスプレイが設定されていないということで起動できなかった。

そこで、ikwzm さんに教えて頂いた xbase-clients と xterm をインストールした。
sudo apt-get install xbase-clients xterm
これで、”ZYBO-Z7-20のDebian上のXクライアントをパソコンのUbuntu上に表示する”の様に nautilus のウインドウを表示することができた。でもまだ文字がトーフ状態だった。(なお、リブートする必要があった)

検索してみるとロケールを日本語にしているのに、日本語フォントが入っていないのが問題ということだった。
対処方法として、梅フォントをインストールした。
sudo apt-get install fonts-vlgothic
sudo apt-get install fonts-horai-umefont
sudo apt-get install fonts-umeplus


これで、ZYBO-Z7-20 に日本語フォントが入った。
nautilus &
で起動するときちんと日本語が見えた。
SDSoC_ikwzm_7_180402.png

これで設定はOK だろう。
さて、さっきの続きだ。
git clone git://github.com/ikwzm/xlnk-kernel-module
cd xlnk-kernel-module
git checkout 4.14.21-armv7-fpga
make

SDSoC_ikwzm_4_180401.png
SDSoC_ikwzm_5_180401.png

make は成功した。良かった。。。

sudo make install
SDSoC_ikwzm_6_180401.png

これも成功した。

(2018/04/03 :追記)
sudo make install の後の
sudo depmod
sudo systemctl start xilinx-apf-driver.service
sudo systemctl enable xilinx-apf-driver.service

を忘れてしまって、うまくインストールできていなかったようだ。
  1. 2018年04月02日 05:32 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0