マイコンをいじり始めてみる

数日前にふと思い立って、マイコンを購入した。買ったのは秋月電子AKI-H8/3069FフラッシュマイコンLANボード。僕はハードウェア関連にはものすごく疎いので、けいめい氏に助言を貰いながら*1組み立てた。半田ごてを握ったのはいつ以来だったかな...
終わったと思ったらまだパーツが余っていて、実は付け忘れていた…ということを二度くらいやったものの、組み立ては特に問題なく終了。LANケーブルをつなぐとLinkランプが付くので多分ミスは無いだろう、ということでソフトウェアの準備に。
付属していた開発キットはH8/OSの古いバージョンを収録していたが、新しいバージョンが出ていたのでそちらをROMに焼いてみた。H8のイメージ書き込みの仕組みがよく分からなくて、何度もリトライして、なんとかOSが動いた。さっそくサンプルのソースコードを読みつつ、ちょっと改造して… 試行錯誤の末、やっとシリアルコンソールにHello, worldが出力された! ここまで辿り着くのに大体半日くらいかかっただろうか。なんだか、初めてプログラミング言語に触れて、最初のプログラムが動いたときに感じたのと同じような達成感。
次は回路図を読んで、ディップスイッチのON/OFFに応じてLEDを点灯・消灯させるプログラムを書いた。これが生まれて初めて書いたハードウェア制御プログラム。他愛も無いプログラムだけど、今まではコンピュータの中しか操作したことが無かったので結構嬉しかった。
その後は、H8/OSはTCP/IPスタックに難があるっぽいので早々に見切りをつけて(ぉ)、Toppers/JSPというITRON準拠のOSを試している。コンパイル環境を整えるのが大変だけど、仕様がはっきりしていて付属ドキュメントも結構丁寧なのでこれに落ち着きそうな気がする。標準CライブラリやC++*2が使えるし、ToppersプロジェクトがITRONAPI定義に準拠したTCP/IPスタックも実装しているのでかなり魅力的な環境だと思う。

*1:メッセでUSBカメラを使って実況中継していた(ぉ

*2:C++まで使いたい人がいるかどうかは分からないけど…