# ファームウエアアップデート手順
GM-01A ファームウエアアップデート手順
いまのところ書き込み環境を用意するのが面倒なのと間違えやすいので、以下すべてよく読んで行ってください。もうすこし簡単にできる方法も検討中です。
必要なもの
- Windows PC (WinXp, Windows7で確認しています)。MacやLinuxなどでも方法はあります。(下記)
- Mini-USB Bタイプのケーブル。(MicroUSBなどもありますので注意。) わりと普及している小さい形のコネクタがついたケーブルです。PS3などのコントローラーにも使われているものです。最近はダイソーで105円で売ってます。
- アップデートしたいファームウエアのhexファイル。
- usbasp対応のライターソフトウエア&ドライバ。(下記)
アップデート手順
- ファームウエアのhexファイルを用意します。
- GM-01Aをusbaspモード(下記)にした状態でPCに接続します。
- その状態でPCを使い、ファームウエアを転送します。転送後は自動的にリセットがかかって新しいファームウエアで動きだします。転送後はUSBケーブルを抜いてしまってかまいません。
usbaspモードにする方法
- まず、電池を抜いて、USBケーブルを差している場合は抜いてください。完全に電源が切れた状態にします。
- 左ボタンと右ボタンを同時に押した状態で、USBケーブルをGM-01Aに接続します。
- USBのロゴが出て USBASP MODE と表示されれば成功です (だめであれば再度USBケーブルを抜いて、左右ボタンを押しながら差しなおしてみてください)
Windowsでのアップデート方法
- libusbドライバー ここからダウンロードしてください
- Khazama AVR Programmer これもダウンロードしてください。最新の1.7.0で動作確認しています。.rarファイルというのがダウンロードされますが、WinRARなどのソフトを使うことで解凍できます。
- PCとusbaspモードのGM-01Aを繋ぐと、ドライバーのインストールを促されますので上記のlibusbドライバーをインストールします。
- ドライバはいわゆる手動インストールになります (install_x86.exeとinstall_x64.exeは使えません)
- ドライバのフォルダは、libusb_1.2.4.0フォルダを選択してください
- ドライバのインストールに失敗する場合は、デバイスマネージャーを開き、USBaspと表示されているのがGM-01Aですので、「更新」を選んで「コンピューターを参照してドライバー ソフトウェアを検索します」で、ダウンロードしたドライバのlibusb_1.2.4.0 フォルダを選んでください。
- ドライバが正常にインストールされると、デバイスマネージャー上では、"libusb-win32 devices" の下に、"USBasp" として認識されます。
- ドライバーのインストールが完了したら、Khazama AVR Programmer で、ファームウエアを転送します。以下の手順になります。
- まず、青文字でAVR:となっているデバイスを正しく設定します。ATMEGA328Pを選んでください
- Fileメニューから "Load FLASH file to Buffer" を選んで、ファームウエアのhexを指定します
- Commandメニューから "Write FLASH Buffer to Chip" を選んで転送します。(大きいAuto Programボタンは使わないでください)
- 下のプログレスバーが動いて、2、3秒で書き込みは完了します
Mac、Linuxなどでのアップデート方法
いまのところGUIツールがないので、avrdude コマンドを使う形になります。(何か簡単なMac Appを製作予定です) avrdudeで以下のようなコマンドで書き込んでください。filename.hexの部分は実際のファームウエアのファイル名になります。
./avrdude -p atmega328p -c usbasp -U flash:w:filename.hex