ファームウェアの更新


ここでは LPC1114 のファームウェア更新についてまとめています。

 

採用されている LPC1114 は更新に失敗する事でファームウェアが失われ、起動できなくなるケースはまれです。

起動できない場合は別の問題である場合があります。
運営者は数年ファームウェアの更新を経験していますが、LPC1114 が完全に使えなくなった事はありません。

 

一方でオプションの選択により、LPC1114 に入っていたプログラムは消去される場合があります。

プログラムを残す必要がある場合は、予めパソコンへプログラムを転送しておくか、EEPROM へ保存して下さい。

EEPROM は接続していた場合でもこの方法で中身が削除される心配はありません。


LPC1114 を採用している OS・本体

このページでは LPC1114 を採用している次の OS・本体でのファームウェア更新手順について記載しています。

 

次の OS・本体 は異なる OS を入れる事ができます。

例えば IchigoJam S に IchigonQuest を入れて動作可能です。

 

OS(ファームウェア)

  • IchigoJam BASIC
  • IchigoLatte
  • IchigonQuest

本体(プリント基板など)

  • IchigoJam 初代プリント基板・U・T・S・ブレッドボード
  • IchigoJam 互換機
  • IchigoLatte プリント基板・ブレッドボード
  • IchigoDake(直接左右のランドに接続)

また、次のファームウェアを更新する場合も同じ手順となります。

  • PanCake
  • DakeJacket

ブレッドボードなどで自作した場合も含みます。


キーボードの種類を予め確認する

日本では主に 2 種類のキーボードが使用されています。

  • 日本語キーボード(JP)- 1~9 キーの上が ! " # $ % & ' ( ) 。0 キーの上はなし。Shift+2 で " を表示
  • 英語キーボード(US)- 1~0 キーの上が ! @ #$ % ^ & * ( )。Shift+2 で @ を表示

一部のキーボードでは、かな表記がなくても日本語キーボードの扱いになっている場合があります。

IchigoJam BASIC・IchigoLatte のファームウェアを更新する場合は
キーボードの種類にあわせてファイルを選択する必要があります。


IchigoJam BASIC 0.9.9 以前から 1.0.0 以降へ更新する場合の前準備

IchigoJam BASIC 0.9.9 以前と IchigoJam BASIC 1.0.0 以降ではプログラムの保存方法が変化し、
プログラム番号 0 以外の 1 と 2 がなくなります。

 

開発者の福野さんが IchigoJam BASIC 0.9.x 系から IchigoJam BASIC 1.0.x 系への

セーブデータマイグレーションツール(データ引き継ぎツール)を公開しています。

 

MacBookとIchigoJamのマイグレーション(お引っ越し)| 福野泰介の一日一創

 

IchigoJam BASIC 0.9.9 以前が入っていた IchigoJam で、ファームウェア更新同様の手順で ISP モードで起動し、

ichigojam-trans.bin または ichigojam-trans.hex を一度 CPU へ入れます。

電源を切って ISP モードを外し、電源を入れると間もなく LED が点滅します。

1秒ごとの点滅で正常にプログラムが写されています。

あとは ISP モードで電源を入れ直し、IchigoJam BASIC 1.0.0 以降のファームウェアへ更新します。

これでプログラム番号 1・2 も引き継ぐ事が可能です。

 

0.9.7 以前の保存プログラムは……

0 以外なくなってしまいます。

データ引き継ぎツールでこのとおり。



USB-シリアルモジュールとの接続

USB-シリアルモジュールと IchigoJam・IchigoLatte・IchigoDake は次のように接続します。

USB−シリアルモジュール - IchigoJam・IchigoLatte・IchigoDake
TXD - RXD (15)
RXD - TXD (16)
GND - GND (8・22・CN5 端子 5)
GND(IchigoJam の GND(8・22)などと接続も可) - ISP (24)
VCC(3.3V・3V3) (microUSB 電源の代わりに接続可能) -

VCC または + (7・21)

3.3V (IchigoJam U を除く CN5 端子 4)

5V (microUSB 電源の代わりに接続可能) - 5V (CN5 端子 1)
GND(接続するよう説明する所あり) - RESET (23)

CN5 端子は IchigoJam U・T・S の場合ですが、IchigoJam 互換機でも同等の端子が存在する場合があります。

 

簡単なのは、IchigoJam の空いている GND と ISP の端子を

接続する方法です。(右写真のオレンジ色ジャンパー)

電源を入れている場合は一度切って接続して下さい。

電源を入れると IchigoJam のランプが LED 1 より弱く点灯します。

(通常は電源を入れた直後一瞬点灯した後に消灯。
 LED を交換した場合や自作機として組み立てたばかりの場合は
 点灯しない場合あり)

これで ISP モードに入っています。

この ISP モードに入った状態で

下記ファームウェアの更新を行って下さい。

 

IchigoJam の紹介サイト・ブログなどによって
RESET 端子を用いる手順がありますが、
RESET 端子の代わりに電源スイッチの切→入で行えます。
従って、必ずしも RESET 端子を接続する必要はありません。

 

IchigoDake・DakeJacket でファームウェアを更新する場合の注意

IchigoDake を DakeJacket に接続して使用している場合でも

ファームウェアを更新する場合は必ず IchigoDake のピンへ接続する必要があります。

 

DakeJacket へ IchigoJam のように接続してファームウェアを更新すると

DakeJacket 中央にある LPC1114FDH28 を更新してしまいます。

 

IchigoDake のピンソケットを付けていない場合でもポイントピンとフッククリップや

またはスルーホール用テストワイヤーを用いて接続する事ができます。

ショップのふうせんでポイントピン・フッククリックを扱っています。

 

フッククリップ | ショップのふうせん

 

IchigoDake には Dakejacket 版へファームウェアを更新して下さい。(特に DakeJacket を使用する場合)

DakeJacket 版は IchigoDake の公式サイトからダウンロードできます。

 

IchigoDake 公式サイト -「Download」のところにある IchigoDakeOS.zip を入手して下さい。

 

ファームウェアを更新する場合は IchigoDake へ接続必須 

 

この方法では DakeJacket の LPC1114 を更新してしまう 

 


IchigoJam 互換機で ISP モードへ入る

IchigoJam 互換機の一部では ISP モードに入れるためのスイッチ・ジャンパ・ボタンが付いている場合があります。

GND-ISP をジャンパワイヤで接続する代わりに次の方法を使用可能です。

  • SkyBerryJAM は ISP ボタン・Reset ボタンがあります。
    microUSB 端子をパソコンに接続すると USB-シリアルが接続された状態にできます。
    この状態で ISP ボタンを押しながら電源を入れるか、
    電源をすでに入れている場合は ISP ボタンを押しながら RESET ボタンを押すと ISP モードになります。 
    ISP に入った事を確認する LED のランプは 5 つのうち一番左です。
  • ai.shuttle.jam は GND-ISP を接続するための専用ホールが用意されています。
    ISP MODE と記載されている 2 ピンにピンヘッダを半田付けしておき、
    ショートピンやジャンパワイヤで 2 ピンをつなげた状態にして電源を入れると ISP モードになります。
  • IchigoJam EX は RESET モードのスイッチ SW4 が基板にあります。
    ここにスイッチを付けている場合、SW4 を RESET 側にして電源を入れると ISP モードになります。

IchigoJam と同じように ISP-GND をジャンパワイヤで接続しても可能です。

 

SkyBerryJAM の
ISP ボタン・Reset ボタン

ai.shuttle.jam の ISP MODE
(ピンヘッダを付けた状態)

IchigoJam EX の SW4
(スイッチを付けた状態)



OS 別ファームウェアのファイル

ファームウェアのファイルはいくつか存在している場合があります。

OS 別に目的のファイルを見つける方法は次のとおりです。

 

IchigoJam BASIC

IchigoJam BASIC のファームウェアは IchigoJam 公式サイトからダウンロードできます。

 

ダウンロード | IchigoJam 公式サイト

 

ベータ版は 2018年より GitHub からのダウンロードになっています。

 

IchigoJam/IchigoJam.github.io | GitHub

 

ベータ版のバージョンについての解説は Facebook グループ IchigoJam-FAN や

福野泰介の一日一創 で開発者の福野さんが投稿しています。

ベータ版の一部バージョンは一部の用途を目的に公開されている場合があるため、
必ずバージョン別の投稿内容を確認して適切なバージョンをダウンロードして下さい。

 

Facebook グループ IchigoJam-FAN

福野泰介の一日一創

 

.zip ファイルで公開されています。元々は Windows の形式ですが、macOS・Linux でも現在は対応しています。

いくつかのファイルが存在します。正式版では次の分類があります。

  • jpkbd・uskbd・frkbd または us の有無 - キーボードの種類(日本語・英語・フランス)
  • mn・vi・なし - 言語の種類(日本語カナは mn・vi がないファイル名)
  • ntsc・pal・なし - テレビ規格の種類(日本は NTSC。ない場合は NTSC)
  • xtal・なし - IchigoJam BASIC 1.0.1 以前は外部クリスタル (水晶発振子) あり・なし(1.1.1 以降は自動判別)
  • .hex・.bin - ファイル形式の異なる同じファームフェア(Flash Magic は .hex 指定必須)

従って、日本向けで使用する場合、frkbd・pal・mn・vi を含むファイル名のファームウェアへ更新しないで下さい。

ただしキーボードの種類(日本語キーボード・英語キーボード)によって
jpkbd・uskbd または us の有無で適切なファイルを選択する必要があります。

 

IchigoJam BASIC ベータ版では、機能追加により上記に該当しないファイル名で配布されている場合があります。

 

IchigoLatte

IchigoLatte 最新版のファームウェアは公式サイトの Download からです。

IchigoLatte 公式サイト

 

.hex ファイルのみで公開されています。ファイル名の違いは次の通りです。

  • jp・us - キーボードの種類(日本語キーボード・英語キボード)
  • w・なし - W 付きは IchigoLatte W(56~64kB の LPC1114・1115 対応版。通常は W なし)

IchigoLatte は外婦クリスタル必須です。IchigoJam 初代プリント基板やブレッドボードなどを使用する場合は注意を要します。

 

IchigonQuest

IchigoQuest 最新版のファームウェアは公式サイトの ダウンロード からです。

IchigoQuest 公式サイト

 

.hex ファイルのみで公開されています。ファイル名の違いは表示言語・方言の違いです。

jp・us の違いは表示の違いであり、IchigoJam BASIC・IchigoLatte のようなキーボードの種類ではありません。

IchigonQuest も外婦クリスタル必須です。IchigoJam 初代プリント基板やブレッドボードなどを使用する場合は注意を要します。

 

DakeJacket 版(IchigoJam BASIC・IchigoLatte・IchigonQuest)

IchigoDake+DakeJacket で使用する場合は DakeJacket 版のファームウェアへ更新して下さい。

IchigonQuest は IchigoDake でしか発売されていないため、通常はこの DakeJacket 版を入れる事になります。

download の「IchigoDakeOS.zip ダウンロード」をダウンロードして下さい。
解凍すると IchigoJam BASIC・IchigoLatte・IchigonQuest の各フォルダがあります。

 

IchigoDake 公式サイト

 

DakeJacket 版は IchigonQuest を除き日本語言語のみで配布されています。
.hex ファイルのみで、dj が含まれたファイル名での配布です。
ファイル名での違いは IchigoJam BASIC・IchigoLatte はキーボードの種類、

IchigonQuest は表示言語・方言の種類別となります。

 

PanCake

PanCake は IchigoJam と同じ LPC1114FN28 を採用しています。
そのため、同じ方法でファームウェアを更新可能です。

 

PanCakeプチコン3号Edition はファームウェアが公開されていません。

この更新を行うと、プチコン3号Edition ではない PanCake へ更新されてしまいます。

 

PanCake 公式サイトの DOWNLOAD から最新版を得られます。

 

PanCake 公式サイト

 

.hex ファイルのみで pancake.hex となっています。

 

通常は PanCake プリント基板から LPC1114FN28 を外し、
同じ CPU を使用する IchigoJam へ一時的に装着して更新をおすすめします。

プリント基板に直接 LPC1114 を半田付けしてしまっている場合は次のようにします。

  • PanCake プリント基板を IchigoJam などから外す(フレッドボードに挿すと良い)
  • TXD・RXD を通常とは逆に接続(多くのモジュールでは TXD-TXD・RXD-RXD で接続)
  • GND は通常どおりに接続(右側が良い)
  • ISP は LPC1114 の端子に直接ピンを付ける(ピンソケット部分は LPC1114 へつながっていない)
  • VCC を 3.3V・3V3 と接続。これで ISP モードで起動する。この後 ISP のピンは外して良い
  • ファームウェアを更新したら VCC を外す。IchigoJam などに接続して更新を確認する

モジュールに 3.3V がない場合は 3 端子レギュレータなどを経由して 3.3V にして下さい。

 

DakeJacket

DakeJacket は(IchigoDake とは別に単体で)LPC1114FDH28 を採用しています。

そのため、必要な場合は IchigoJam などと同じ方法でファームウェアを更新できます。

誤って DakeJacket に接続してファームウェアに別の OS を更新してしまった場合、

DakeJacket のファームウェアを更新して改善できます。

 

公式サイトより「DakeJacket ファームウェア」の「ZIP DOWNLOAD」から入手できます。

 

DakeJacket 公式サイト

 

2018年4月公開の初版は Ver 5 です。

 

ファームウェアの共通事項・注意

Windows や Linux で解凍した場合、.DS_Store ファイルや  __MACOSX フォルダが表示されますが、

macOS が生成する OS 独自のファイル・フォルダです。削除しても影響ありません。

(IchigoJam 開発者 福野さん、PCN・na-s.jp 代表 松田さん は共に普段は Mac を使用しています)

 

なお、ファームウェアは 転載不可 となっていますので、ファイルを直接再配布しないで下さい。

必要な場合はファームウェアを配布しているページの URL へリンクを行って下さい。 


ファームウェア更新ソフト

ファームウェアを更新するソフトウェアは専用のツールが必要になります。

 

IJUtilities (Windows・macOS・Linux)

IJUtilities は lpc21isp(後記)を用いた

ファームウェア更新機能を備えています。

lpc21isp は IJUtilities に含まれているため、すぐに使用可能です。

Windows・macOS・Linux で対応しています。

特に Windows では lpc21isp を用いたツールが存在していないため、
Flash Magic(後記)よりも操作が少なく、素早く更新できます。

 

IJUtilities - 配布サイト

 

IJUtilities を起動した後、

ターミナルセンター ウインドウの

ツールバー オプション - Firm書換え  (IchigoJam, PanCake...)

を選択して下さい。lpc21isp ウインドウが表示されます。

 

Port は USB-シリアルモジュールのポート番号、

Firm は入れるファームウェアのファイル、

Option は .bin ファイルを入れると -bin が入りますが、

それ以外に -wipe(入れる前に消去)なども使えます。

ISP モードにしておいた状態で Start を押すと実行されます。

 

右画面は実際に IchigoJam BASIC を更新し、正常に完了した表示です。

 

Flash Magic (Windows・macOS)

IchigoJam に関係なく LPC1114 でよく使用されているツールです。
当初はこの方法が主なファームウェアの更新手段だったため、紹介サイトも多いですが、

細かい設定が多く、経験がない人は IJUtilities を使った方が良いかもしれません。

 

Flash Magic を入手します。Windows 版と macOS 版があります。
 

Flash Magic

 

インストールして起動します。

はじめて起動した場合は Step 1 - CommunicationsSelect を押し、

Device Select 画面で LPC1114/102 を選択して下さい。

ファームウェアは .zip を解凍し、.hex ファイルを指定します。

 

macOS でもポート番号は Windows と同じ COM● の表示です。
macOS での COM● 割り当てはターミナルより下のコマンドで調べられます。

 

$ ls -l /Applications/FlashMagic.app/Contents/Resources/dosdevices/COM*

 

なお、Flash Magic には Terminal があり、通常起動した IchigoJam の送受ができるので、
更新を行ったファームウェアの簡単な動作確認を行う事もできます。

 

lpc21isp (macOS・Linux・Windows)

lpc21isp で素早く更新する事もできます。コマンド実行から数秒~十数秒で更新を行えるので、とても便利です。

macOS では Homebrew からパッケージ名 lpc21isp でインストールできます。

Ubuntu は 14.04 LTS 以降、Debian は 8 Jessie 以降、パッケージ名 lpc21isp でインストールできます。

ビルドする事で Windows や他の Linux でも使用可能です。

 

lpc21isp SouceForge | OSDN | GitHub

 

例えば下記のように実行します。USB-シリアルモジュール は Linux の場合 /dev/ttyUSB0 になる事が多いです。

 

$ lpc21isp ichigojam-xtal.hex /dev/ttyUSB0 115200 1200

 

bin ファイルの場合は -bin をファイル名の前に入れて下さい。

また -wipe を追加すると、消去してからの書き込みになります。
(更新後 IchigoJam の動作がおかしい時に試してみて下さい。
 プログラムもなくなるので、予め EEPROM などに保存して下さい)

-verify を追加すると、書き込み後に確認を行います。

 

/dev/tty〜 のところが分からない場合は次のようにして確認します。
外している時と接続している時で1項目変わるところです。

 

$ ls -l /dev/tty*

 

なお、次のコマンドで端末になり、通常の IchigoJam を起動した状態で IchigoJam の送受も可能です。

(カナなどはコードの違いで文字化けします。また Back Space などが効きません。Esc で終了)
ファームウェアが正常に更新されたか、パソコン上から確認したい時に便利です。

 

lpc21isp -termonly -localecho /dev/ttyUSB0 115200 1200

  

Mac 向けの macOS 版は Maclpc21isp で素早く更新できます。

 

Facebook グループ IchigoJam-FAN 内

Macでlpc2lispを簡単に利用するためのアプリケーション | Qiita

 

運営者が Linux 向けで Maclpc21isp 同等の動作を実現した Linuxlpc21isp を製作・公開しています。

別途 lpc21isp をインストールしてご利用下さい。

 

ツール/Linux 向けファームウェア更新


中身を完全に削除してファームウェアを更新する

IchigoJam BASIC から IchigonQuest に変更するなど、OS の変更を行う場合、

ファームウェアの更新後、何か動きがおかしい場合は、中身をすべて削除するようにして下さい。

この操作は入っているプログラムを完全に削除します。必要な場合は予めパソコンや EEPROM へプログラムを保存して下さい。

  • IJUtilities -「Options」の項目で -wipe を選択します。
  • Flash Magic - ウインドウ右上「Step 2 - Erase」の Erase all Flash+Code RdProt を有効にします。
  • lpc21isp - オプション -wipe を加えます。 

IchigonQuest ではこれを行わないと、更新前のデータが残るために

ぼうけん● を選んだ後 つくる などを選択した時に LED が点滅して再起動する場合があります。


失敗するケース

一時特に多かったのは外部クリスタルのない IchigoJam 初代プリント基板などで
外部クリスタルが必要なファームウェアへ更新したのに、外部クリスタルを付けずに電源を入れた場合です。

(この時はジャンパワイヤの拡張をすべて外した状態でも電源を入れて本体ランプが点灯します)

IchigoJam BASIC では IchigoJam BASIC 1.1.1 以降は自動判別になりましたが、

IchigoLatte および IchigonQuest は外部クリスタル必須ですので、注意を要します。

 

IchigoJam をよく使用している場合は、ターミナルソフトが起動していながら、

Flash Magic や lpc21isp が起動しているためにポートを開くのに失敗する事があります。

具体的な例として「Flash Magic で更新作業して、Tera Term で不明な文字が〜」という場合、
Tera Term が起動しているのが原因で更新できていません。
Tera Term を閉じて、Flash Magic のみを動作させて下さい。

 

日本語・カナ版ではないファームウェア(例えば mn・vi 付)へ更新してしまった、
ベータ版へ更新したけど正式版へ戻したい、という場合は

該当するバージョンで再度ファームウェアを更新すれば大丈夫です。

 

ファームウェアの更新に失敗して LPC1114 が二度と使用できなくなるケースは運営者は聞いた事がありません。

また運営者は数年で多くのファームウェア更新を経験していますが、LPC1114 が使用できなくなった経験はありません。

通常は ISP モードに入ったままだったなど、別の問題のケースです。起動しなくても慌てずに確認して下さい。


他サイト・動画での紹介

ファームウェアの更新方法は他の IchigoJam 利用者などからも紹介されています。こちらも参考にして下さい。

 

IchigoJamのファームウェアを書き換える | コドモとアプリ - CP2102 USB-シリアルモジュールを用いて IJUtilities で更新

IchigoJamのファームを書き換える | コンピュータを楽しもう! - 超小型USBシリアル変換モジュール を用いて  Flash Magic で更新

ichigojam ファームウェアの更新 | 活動の備忘録 - FT232RL を用いて Windows から Flash Magic で更新

IchigoJam の紹介と OS X で使う方法のまとめ | YNOMURA.COM - CH340 USB-シリアルモジュール を用いて Flash Magic で更新

Facebook グループ IchigoJam-FAN 内 - macOS での書き換え方法に関して

 

Mac を使用した時の動画も公開されています。

 

IchigoJam Farmware Update (イチゴジャム ファームウェア アップデート) | YouTube