Giant Boardが届いた。
このボードにはCortext-A5コアのATSAMA5D27-D1G-CU
が搭載されている。
MICROCHIPによると、こういうものらしい。
The SAMA5 series are high-performance, ultra-low power ARM Cortex-A5 core based MPU devices. They support multiple memories, including DDR3, LPDDR3, and QSPI Flash.
ATSAMA5D27
はMPU System in Packages (SiPs)
というもので、パッケージの中にDDRも入っている。
なので、他にメモリを配置する必要がないためボードがかなり小さい。
Cortex-AなのでLinuxも動く。というか標準サポートのOSがDebianとなっている。
How to build custom Giant Board device images.を参考にOSをビルドしてみた。
作業環境はUbuntu 18.04
依存パッケージのインストール
device tree compilerをインストールする。18.04のaptでインストールできるバージョンは古いので下記から取ってくる。
$ cd /tmp $ wget http://mirrors.edge.kernel.org/ubuntu/pool/main/d/device-tree-compiler/libfdt1_1.5.1-1_amd64.deb $ wget http://mirrors.edge.kernel.org/ubuntu/pool/main/d/device-tree-compiler/device-tree-compiler_1.5.1-1_amd64.deb $ sudo gdebi libfdt1_1.5.1-1_amd64.deb $ sudo gdebi device-tree-compiler_1.5.1-1_amd64.deb
ツールのセットアップ
ビルド用のスクリプトを使用する。
$ git clone https://github.com/Groboards/giantboard-tools.git $ cd giantboard-tools $ chmod +x build_menu.sh $ ./build_menu.sh
メニューを起動する。
Build Options: 1: Setup Build Environment.(Run on first setup.) 2: Build at91bootstrap 3: Build u-boot 4: Build kernel/clean 5: Rebuild kernel 6: Build debian rootfs 7: Chroot into rootfs 8: Build device overlays 9: Make bootable device image Enter selection [1-7] >
初回実行時は1: Setup Build Environment.(Run on first setup.)
を選択する。
それ以降は必要に応じて実行することになるが、まっさらな状態では次の順序で実行することになる。
| 2: Build at91bootstrap | 3: Build u-boot | 4: Build kernel/clean | 6: Build debian rootfs | 8: Build device overlays | 9: Make bootable device image
Build device overlays
で下記の様なエラーが出力されるが、特に問題はなさそう?
<stdin>:20.22-29.6: Warning (spi_bus_reg): /fragment@1/__overlay__/ethernet@1: SPI bus unit address format error, expected "0" done building..
Make bootable device image
でgiantboard.img
が生成される。
これをddコマンドなどでSDに書き込んで起動する。
$ sudo dd if=giantboard.img of=/dev/sdX bs=100M
/dev/sdX
は環境によって適宜読み替える必要がある。
起動
ピンヘッダに出ているTX,RX,GNDをUSB-シリアル変換ケーブルでPCに接続し、minicomでログインする。
アカウントは次の通り。
item | value |
---|---|
user | root |
passwd | root |
次のようになればOK。
Debian GNU/Linux 9 giantboard ttyS0 Login incorrect giantboard login: root Password: Linux giantboard 5.0.0+ #1 Mon Feb 17 19:03:20 JST 2020 armv7l _____ _ _ ____ _ / ____(_) | | | _ \ | | | | __ _ __ _ _ __ | |_ | |_) | ___ __ _ _ __ __| | | | |_ | |/ _` | '_ \| __| | _ < / _ \ / _` | '__/ _` | | |__| | | (_| | | | | |_ | |_) | (_) | (_| | | | (_| | \_____|_|\__,_|_| |_|\__| |____/ \___/ \__,_|_| \__,_| root@giantboard:~# uname -a Linux giantboard 5.0.0+ #1 Mon Feb 17 19:03:20 JST 2020 armv7l GNU/Linux root@giantboard:~#
まとめ
giantboardが動いた。カーネルのージョンはもともと4.14
とされていたのだが、意外にも5.0.0
だった。
電源については少し不安定な様で、ボードのUSBポートへVBUSで給電するよりも、USB-シリアル変換の5VをボードのVBAT
に入れるのが安定しているように見えた。
素人ながら回路図を確認した感じだと、VBATは入ってすぐにMIC5247-2.0に入るので、 VBATは5V入れても問題なさそう。(わからんけど)
今のところは元気に動いているが、ちょっと電力を使うようなものを動かすとリブート祭りになる。