ハードウェア
PanCakeのファームウェアを更新
shimizu
以前の記事でIchigoJamと組み合わせてグラフィック、サウンド機能を拡張できる「PanCake」を紹介しました。先日、このPanCakeの最新版ファームウェアが公開されましたので、PanCakeの実機に書き込んでみました。
PanCakeのファームウェア更新には、PanCakeのCPUを取り外してブレッドボードに取り付けた上で行う方法もありますが、今回はPanCakeのCPUを取り外さずに行う手順で進めてみます。
用意するもの
- PanCake
- IchigoJam
- USBシリアル変換器・ジャンパー線
- 書き込むファームウェアファイル(公式サイトで配布されています。今回は「Ver1.1.1」)
- 作業用PC(今回はMac)
「PanCakeのファームウェアを書き換えたいのに、なぜIchigoJamも使うのか」と思われるかもしれませんが、「PanCakeには直接USB給電できないので、電源をIchigoJamからもらうため」に使うことになります。
アップデート手順
1. 以下の図のように、PanCake・IchigoJam・USBシリアル変換器をジャンパー線で接続します。
一点注意が必要なのは、PanCakeのGNDとISP端子を結線する方法です。上図の左上に、何やら宙ぶらりんの線が見えますね。PanCakeのCN2ソケットにある「ISP」はCPUには繋がっていないのでここには差しません。ファームウェアの書き込み時に、GNDから伸ばしたジャンパー線のもう一方の先端をCPUのISPピンに接触させます。
IchigoJamには、電源用のmicroUSBケーブルを差しておきましょう。まだ電源スイッチはOFFのままです。
3. IchigoJamのCPUであるLPC1114のファームウェアを書き込むツール、lpc21ispをインストールします。今回はmacOSですので、Homebrewからインストールすることができます。
$ brew install lpc21isp
4. lpc21ispを実行して、ファームウェアの書き込みを開始します。オプションの「/dev/tty.SLAB_USBtoUART」は、使用しているUSBシリアル変換器に合わせて記述してください。
$ lpc21isp pancake.hex /dev/tty.SLAB_USBtoUART 115200 1200
5. 上記を実行すると、「Synchronizing (ESC to abort)……..」という風に接続待ちの状態になります。
lpc21isp version 1.97 File pancake.hex: loaded... converted to binary format... image size : 32580 Image size : 32580 Synchronizing (ESC to abort)........
6. ここで、IchigoJamの電源を入れるのですが、この際、PanCakeのGNDから伸ばしたジャンパー線のもう一方の先端をCPUのISPピンに接触させた状態でスイッチを入れます。そうすると、ファームウェアの書き込みが行われます。
(前略) Synchronizing (ESC to abort)...................... OK Read bootcode version: 1 7 Read part ID: LPC1114.../102, 32 kiB FLASH / 4 kiB SRAM (0x1A40902B) Will start programming at Sector 1 if possible, and conclude with Sector 0 to ensure that checksum is written last. Erasing sector 0 first, to invalidate checksum. OK Sector 1: ...........................|.........................|.........................|......................... Sector 2: ...........................|.........................|.........................|......................... Sector 3: ...........................|.........................|.........................|......................... Sector 4: ...........................|.........................|.........................|......................... Sector 5: ...........................|.........................|.........................|......................... Sector 6: ...........................|.........................|.........................|......................... Sector 7: ...........................|.........................|.........................|..................... Sector 0: ..........................|.........................|.........................|......................... Download Finished... taking 16 seconds Now launching the brand new code
7. これでファームウェアの書き込みが完了し、晴れて新しいバージョンとなりました。PanCakeのビデオ端子にディスプレイを接続すると、作業前は「1.0」だったバージョン表記が「1.1」となり、更新されたことが確認できます。
なお、起動した直後の画面に表示される「1.1」の表記を見る以外に、書き込まれているファームウェアのバージョンを後から確認する方法は用意されていませんので、例えば「1.1なのか、1.1.1なのか」が区別できません。忘れないように、どのバージョンを書き込んだのかをメモしておくと良いと思います。
おわりに
以上、PanCakeのファームウェアアップデートをご紹介しました。IchigoJamの場合より多少複雑ですが、新バージョンが公開された際はこの方法で更新することができます。今後のバージョンアップに期待していきたいと思います!