13
11

More than 3 years have passed since last update.

Zynqberryを入手したら最初に行う10のステップ(後編)

Last updated at Posted at 2019-12-30

Raspberry Pi形状のZYNQボード「Zynqberry(ジンクベリー)」でUbuntu18を使うための手順の続きです。

OSインストール後の各種設定

無線LANの使用

2019年12月以降に出荷されたZynqberryスタータキットには、ElecomのWDC-150SU2Mが付属しています。2019年11月以前はGW-USNANO2Aでした。

WDC-150SU2MをARMの組み込みLinuxで使うにはUbuntu 14(wpasupplicatを使っていた)ではだめで、Ubuntu 18にアップグレードしてnmcliを使う必要があります。
WDC-150SU2Mの場合は以下の手順でドライバを使用可能にします。

insmod /lib/modules/4.9.0-xilinx-00027-g9c2e29b/kernel/drivers/8188eu.ko

この状態で
nmcli device wifi
と入力すると、検出されたWifiの一覧が表示されます。

image.png

無線LANを有効にするには、USB LANアダプタを挿し、

nmcli device wifi connect [SSID] password [パスワード]

を入力します。
これでZYNQのLinuxから無線LANが使えるようになります。

ip aコマンドで見てみましょう。
image.png

sttyで画面のサイズを変えよう

TeraTermの画面を大きくしてUSB(COMポート)経由で操作していると、emacsやtop、psなどのコマンドの出力が乱れます。それだけではなく長いコマンドを打ってBackSpaceで編集するだけでも画面が乱れます。SSHでログインした場合には乱れませんが、組み込み開発ではやはりCOMポートは便利なので。

なぜ乱れるのかというと、COMポート経由では端末の画面サイズをOSに知らせることができないためです。

TeraTermのサイズは[設定(S)]->[端末(T)]で確認でき、
image.png
sttyコマンドを使ってLinuxに現在の端末のサイズを教えます。

stty cols 146
stty rows 34

これで画面の乱れはなくなります。

SDカードの第一パーティションの中身を見るには

第一パーティションにはデバイスツリーなどが入っています。
この中身をLinuxで見るには、
mount /dev/mmcblk0p1 /mnt/
で見れます。
/etc/fstabに書いてしまってもいいでしょう。

/etc/fstab
# UNCONFIGURED FSTAB FOR BASE SYSTEM
/dev/mmcblk0p1 /mnt

ツールのインストール

組み込みシステムらしい様々なことを試すには、デバイスツリーコンパイラやGCCが必須です。以下のコマンドでインストールします。gitで配布されているモジュールをインストールするためにもgitは必要でしょう。

apt install device-tree-compiler
apt install gcc
apt install git

FPGAをコンフィギュレーションするには

Zynqberryのカーネルは4.9なので/dev/xdevcfgが使えます。/dev/xdevcfgを使うのが便利です。

cat bitstrem-file-name.bit > /dev/xdevcfg

デバイスツリーをいじるには

様々なデバイスの実験をするには、デバイスツリーの書き換えが必要です。

まず、現在のデバイスツリーからソースを作ります。

dtc -I dtb -O dts /mnt/devicetree.dtb > /mnt/devicetree.dts

そして、編集したあと。

dtc -I dts -O dtb /mnt/devicetree.dts > /mnt/devicetree.dtb

でバイナリに戻します。

USBメモリを参照するには

Zynqberry + Ubuntu18はUSBメモリを使用できます。
以下のようにマウントすることで/mntフォルダにUSBメモリの中身が現れます。

mount -t vfat /dev/sda1 /mnt/

jupyterを起動するには

jupyter notebook --allow-root &

で起動でき、http://zynqberry:8080/ でアクセスできます。
numpy pandas matplotlib seaborn scikit-learn plotlyが使えるのででPythonの練習もばっちりです。

image.png

最後に

私はZynqberryをRasPiケースに入れ、かれこれ1年以上自宅サーバとして活用しています。VPNをはったり、DDNSに通知したり、cronで定期的にルータをチェックしたり・・。
最近ではMySQLとPHPを入れてデータベースアプリを作る練習にも使っています。

ZynqberryのARMは666MHz動作のデュアルコアなので、ネットワーク管理や簡単なデータベースアプリ程度であれば、十分なスペックのサーバとして利用できます。

最近はLinuxカーネルを4.19にアップデートする準備をしていますが、xdevcfgが使えないのでどうしたものかと悩んでいます。

13
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
11