ハードウェア
IchigoJamのファームウェアを更新
shimizu
先日の記事で紹介したIchigoJamに、新機種「IchigoJam T」が登場しました。CPUのパッケージが表面実装タイプに変更されたことが重要な違いですが、実用面ではキーボード端子がPS/2からUSBに変わり、USBキーボードがそのまま差せるようになって利便性が向上したのではないかと思います。
さて、新機種が出ると従来機種の処遇が気になるところです。IchigoJamに搭載されているBASICは、随時機能追加が行われており、ファームウェアをアップデートすることで最新の機能が利用できるようになっています。私の持っている初代プリント基板のIchigoJamでも、最新機種と同様の命令が使えるようになるわけです。ちなみに手元のIchigoJamはバージョン0.9.7でした。このバージョンでは、BASICでは定番中の定番であるFOR〜NEXT命令が未実装のため、多少書きづらさがありましたが、現時点での最新版である1.2.1に更新すれば、新機能として使えるようになります。また、PEEK・POKEといった楽しい命令も使えるようになります。
また、雑誌やネット上で公開されているIchigoJam用プログラムは新しいバージョンを動作条件としていることがあり、そういったものを打ち込んで動かすにはやはりアップデートが必要です。
用意するもの
IchigoJam
今回は初代プリント基板のIchigoJamを用意しました。
USBシリアル変換器・ジャンパー線
こちらの解説を参考に調達しました。
書き込むファームウェアファイル
公式サイトで入手することができます。今回はIchigoJam ver 1.2.1をダウンロードしました。
PC
今回はUbuntu 16.04のノートPCで作業を行いました。
アップデート手順
1. まずは、PCとIchigoJamを接続します。USBシリアル変換器とIchigojam基板上の端子をジャンパー線で以下の組み合わせでつなぎます。
USBシリアル変換器 IchigoJam +-----+ +-----+ | TXD |====| RXD | | RXD |====| TXD | | GND |====| GND |==┐ +-----+ | ISP |==┘ +-----+
2. IchigoJamの電源を入れます。ISP端子がGNDに接続されていることで、プログラム書き換え用のISP(In System Programming)モードで起動し、LEDが点灯した状態となります。
2. PCがUSBシリアル変換器を正しく認識しているかどうか確かめてみましょう。
$ lsusb Bus 002 Device 002: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light $ ls -l /dev/tty* crw-rw---- 1 root dialout 188, 0 7月 17 15:06 /dev/ttyUSB0
との結果から、シリアルデバイスが /dev/ttyUSB0 として登録されていることを確認しました。
このデバイスにアクセスするためにはdialoutグループに属している必要があるため、ログイン中のユーザーをdialoutグループに追加してから、再ログインします。
$ sudo gpasswd -a (ユーザー名) dialout
3. IchigoJamのCPUであるLPC1114のファームウェアを書き込むツール、lpc21ispをインストールします。
$ sudo apt-get install lpc21isp
4. lpc21ispを実行して、ファームウェアを書き込みます。
$ lpc21isp ichigojam-xtal.hex /dev/ttyUSB0 115200 1200
5. IchigoJamとシリアル変換器を接続していたジャンパー線を外し、モニターとキーボードを接続してから電源を入れます。すると以下のように「IchigoJam BASIC 1.2.1」と表示され、バージョンアップされていることが確認できました。これで完了です。
さらに、「IchigoJamの仕様上、一部のモニターでは画面表示が安定しない場合があり、12MHzのクリスタルを実装することで改善される」との情報に基づき、初代プリント基板では標準実装されていなかったクリスタル(写真でのCPU右側の「12.000」と書かれた銀色の部品)を付けました。以前は手持ちの車載用オンダッシュモニターでも文字が左右にビヨビヨと震える現象が見られましたが、くっきり見やすく表示されるようになりました。
以上、ファームウェアアップデートの手法を用いることで、IchigoJamをいつでも最新版にすることができるようになりました。今後のバージョンアップに期待していきたいと思います!