名古屋のOSで名古屋のIoTを / TOPPERSハンズオンのセミナーに参加した。
第二回とあるのだが、実質は第一回らしい。
TOPPERSというのは、ITRON仕様のオープンプラットフォームのOS(カーネル)で、TOPPERSプロジェクトという団体が主体となって開発している。
→ TOPPERSプロジェクト/プロジェクト概要
TOPPERSのことはCQ出版のInterfaceという雑誌で名前を見たことがあったという程度しか自分は知らないのだが、今回一度触ってみようと思った。
参加したあとで気がついたのだが、このセミナーはどうやら主催者の所属する名古屋市工業研究所の内輪の人に向けたセミナーだったらしい。
なんだか場違いな感じなのが強引にもぐり込んでしまって、「しまった」という感じだった。
資料は、最初に前回のスライドが出ていたが、特に説明もなく、いきなりハンズオンの作業に入った。
・Raspberry PI演習 名古屋のOSで名古屋のIoTを
最初に説明のあった段取りだと、(1)機材説明、(2)Raspbian、(3)TOPPERSという順にやるそうだ。
特に資料とか無しで始まったので、ちょっと焦った。
分かっている人向けセミナーなのか!?と思ったら、SDカードのフォーマット用ソフトとかOSイメージの書き込みソフトとかを何かよさそうなのがあったので入れてみようという所から作業の話を講師が話しはじめていたので、どうもどちらかというとRaspberry Piの初心者向けのように感じられる。
そのあとは全体的にハンズオンセミナーというよりは進行役がなく個々に作業する「もくもく会」の様相で、講師やアシスタント役がところどころ詰まっている人を助けるという感じだった。
そんなゆるい感じで、手伝って貰いながらRaspberry PiにTOPPERSを入れるところまでやってみた。
まず、Raspberry Pi向けのTOPPERSカーネルの移植版をビルドする。
→ GitHub – YujiToshinaga/RPi64Toppers: TOPPERS programs for Raspberry Pi with AArch64.
※あとから見つけたが、このあたりも参考になりそう。- Raspberry PiでTOPPERS(TRON系OS)
開発環境のクロスコンパイラを用意するのは大変なのでDockerイメージを用いる。
→ GitHub – nmiri-nagoya-nsaitodocker-toppers-fmp-rpi64 Docker project for TOPPERS FMP on Raspberry Pi with AArch64
このDockerイメージの中のシェルを起動し、ビルド用のシェルスクリプトでTOPPERSカーネルをビルドした。
ビルドしたカーネルのファイルfmp.binと、Raspberry Pi用のブートローダーのbootcode.binとstart.elfを用意する。
あと、ブートの設定用にconfig.txtを用意する。中身はこのように書く。
kernel=fmp.bin arm_control=0x200 kernel_old=1 disable_commandline_tags=1
これらの4つのファイルをFAT32でフォーマットしたmicroSDカードに入れて、Raspberry Pi 3にセットして起動する。
起動してもHDMIのモニタには画面が出ない。ディスプレイドライバが無いからだ。
Raspberry PiのUART端子にUSB-シリアルインターフェースを繋いでシリアルコンソールで確認する。
このあと、LT会(忘年会?)にも参加した。
松浦という方が、GR-PEACHというルネサスのARMを搭載したマイコンボードを使ってTOPPERSを動かして、ドライブレコーダーを作ったというのを紹介していた。
GR-PEACHにNTSCのカメラを2台とLCD画面とCANインターフェースとスピーカー&アンプを繋げていた。
今年(2017年)のTOPPERSのコンテストで賞を貰った作品だそうだ。
→ 資料
(当日見た基板の構成はちょっと上記の資料とは違っていた)