プログラムローダー  2011.11.20 



hexファイルをAVRに書き込むためのPC上のアプリケーションです。
プログラマハードウエアで紹介したものに関係するソフトウエアについて、導入の仕方と簡単な使い方を書きます。初心者の頃は同じ内容の重複する記事があってもうれしかったものですからここにも書くことにしました。
しかし、アプリケーションを解説するものでも詳細に報告するものでもありません。初心者を卒業された方には読んでいただいても意味はなかろうと考えていますのでご了承下さい。

私が通常使うのは多くの機能の内限られた次のようなケースです。
 1 デバイス情報の読み取り:情報を見ると言うよりライタとターゲットが適切に接続されているかどうかの確認に使います。
 2 プログラムの書き込み
 3 プログラムの読み出し:プログラムが書かれているかどうか(空でないかどうか)の確認です。
 4 ヒューズの書き込みと読み出し
したがってこれらを中心に書きます。


hidspx
picspx
avrdude-GUI[YCIT版]
ヒューズビットについて思うこと










hidspx

ハードウエアHIDaspxを使うときのソフトウエアです(大文字と小文字が使い分けられています)。
元になっているプログラムはChaNさんのavrspx.exeで、過去にt.k.さんが拡張してavrspxで発表されたものをsenshuさんがさらに拡張され、HIDaspxの誕生とともに大きく拡張されたものと理解しています。オリジナルのChaNさんのavrspも改良が進められていますが、その結果も含めてこのhidspxはavrspxを含んでいるとのことでavrspの代わりに使うこともできるそうです。

ファイルのダウンロード:
千秋ゼミのサイト内検索で 最新のHIDaspx関係ファイル[Download] をコピペして検索します。 そのページの少し下に表がありますのでその中の hidspxとHIDaspx(2種類のGUIを同梱) と書かれた欄の右側のzipファイルをダウンロードします。

インストール:
このプログラムはインストールの必要はなく必要なファイルを置くだけで実行できます。ダウンロードしたファイルを解凍すると binフォルダ がありますが、その中の setup.bat というバッチファイルを実行するとデフォルトで C:\binフォルダ に必要なファイルがコピーされます。このフォルダにpathを通しておくと使いやすいです。

使い方:
コマンドプロンプトの黒い窓でコマンドを書いて実行します。HIDaspxを使うときは -ph オプションの使いますが、同梱の hidspx.ini ファイルに書かれていますので特別に書く必要はありません。

デバイス情報の読み取り:
hidspx -r <ENTER> で読み出せます。接続の確認によく使います。

プログラムの書き込み:
hidspx xxx.hex <ENTER>  で書き込めます。通常はタイプしないでドラッグアンドドロップで使っています。

プログラムの読み出し:
hidspx -rp <ENTER>  です。hexファイルを保存したければ >filename.hex とすると書き出せます。

ヒューズの読み出し:
hidspx -rf <ENTER>  です。binフォルダに fuse.txt があるので詳細が見えます。

ヒューズの書き込み:
hidspx -fL0xAA -fH0xBB -fX0xCC <ENTER>  と書きます。全部小文字でもokです。
私は読み出しに -rf を使いますので2進表記ですから 0b11110000 のように書く習慣があります。( -rF を使うと16進表示になります。)
デバイスのクロックが遅いときは -d10 を書き加えてゆっくり書き込む方が誤記の心配が無いようです。
fL fH fX を別々に書くこともできますが間違いの元になりますから3つとも同時に書き込みます。

hidspx <ENTER> で使用法が表示されます。 hidspx -? <ENTER> で詳細が表示されますので時間のあるときにゆっくり見られることを勧めます。
ロックビットの操作は  -l または -l11111100(-lはエル)読み書き禁止  -l11111110 書き込み禁止 とします。

同梱の説明書に詳しい記述がありますので読まれることをお勧めします。




picspx

ハードウエアプログラマpic18spx用のダウンローダーです。
オリジナルはプログラマの項に少し書いたとおりirukaさんのpicspx-gcc.exeです。しかし、senshuさんがかなりの改良を加えられて、かつ、名称も  picspx.exe に変更されています。
その意味で千秋ゼミのサイトにあるpicspxを使うのが良いでしょう。このファイルは現在は単独で配布されていなくて他項のavrdude-GUIシステムの配布ファイル群に含まれています。操作を簡単にするためにavrdude-GUIの環境を作ることにします。

ファイルのダウンロードとインストール:
プログラマの項にも書きましたが、千秋ゼミの新掲示板でメンバー登録するとファイルをダウンロードすることができます。
ログインして Download をクリックすると最初の行に YCIT版、avrdude, pic18spx関連の評価用アーカイブ がありますからこれを開き、 avrdude-2011-RC18.zip をダウンロードします。
正規のインストールは必要なくファイルを設置するだけですがこれを解凍して setup.bat を実行すると c:\bin フォルダに picspx.exe (原作者irukaさんの hidspx-gcc.exe と同じ機能のもの。 PICspx.exe とは全くの別物)とそのiniファイルがコピーされます。ここ(c:\bin)にpathを通しておけばコマンドプロンプトから使用できます。

この setup.bat と上記のhidspxの setup.bat を実行したときの C:\bin ファイルの内容は次のとおりでした。

(avrdude.confファイルだけは私が修正していますので日付が違っています。)

使い方:
コマンドプロンプトの黒い画面で使います。
picspx <ENTER> で使用法を見てください。上記のhidspxの使用法と違いを探すのが難しいくらいです。hidspxが元になっています。
"hidspx"と書く代わりに"picspx"と書くだけですから上記のhidspxの使い方を参考にしてください。




avrdude-GUI[YCIT版]

GUIで使える極めて有用なソフトです。これ一つでほとんどのライタが使えますが、FT232RLのビットバンモードを使ったライタでは最も使いやすいダウンローダーです。FT232RLライターを使うときの必需品であると言えます。
 senshuさんが開発した多機能ライティングソフトです。avrdudeを独自に機能拡張し、さらにavrdudeをGUIで操作するavrdude-GUIがセットになっています。FT232RLbitbangライタには最も信頼性が高いソフトであると思います。システムの構築がやや複雑なためその手順を書き留めておきます。また、気付いた点をメモします。私の使用環境は OS=Windows XP SP3 です。

ファイルのダウンロードと環境設定:

1 このGUIは .NET framework を使います。(WinXP→3.5 Win2k→2.0 未だの時はインストールします。)

2 上記hidspxの hidspxとHIDaspx(2種類のGUIを同梱) のsetup.batを実行して c:\bin フォルダに hidspx の環境を作ります。

3 続いて上記picspxの avrdude-2011-RC18.zip(バージョンは将来変わります) のsetup.batを実行して picspx の環境を作ります。

4 この c:\bin フォルダにpathをとおしておきます。(こうしておくと hidspx と picspx が使えます。)

5 FT232RLのライタを使うにはFTDIのドライバのインストールが必要ですから、readme.txtの「(1) FTDI社のFT232RL, FT245を利用するには、FTDI社のドライバインストール」の項にしたがってhttp://www.ftdichip.com/Drivers/CDM/CDM20814_Setup.exeここで得られるCDM20814_Setup.exeをダブルクリックで実行します(FT232RLライタは繋ぎません)。この準備ができてからFT232RLライタを差し込むとウイザードが実行されてドライバが準備されます。

これだけできれば HIDaspx pic18spx FT232RL プログラマが使えることになります。
これ以外のプログラマを使うときには別のドライバを用意する必要もありますが同梱のreadme.txtに書かれていますのでそれに従います。使い方が不明な点については千秋ゼミのサイト内検索で研究することができます。

使い方:

1 c:\bin フォルダの hidspx-GUI.exe を実行します。 デスクトップなどにショートカットを作っておくと便利です。

2 下から2行目の programmer選択窓 に使用するプログラマを選択します。
私のサイトの3種のプログラマを使うなら、
 HIDaspx → hidspx:HIDaspx, COMSPI-bridge, ...
 pic18spx → picspx=pic18spx:COMSPI-bridge, ...{-Ph -B2}
 FT232RL → ft232r1:FT232R Synchronous BitBang channel 1
を選択します。
(選択肢が多すぎて困るときは、c:\bin\avrdude.conf をエディタで開いて不要なプログラマの  desc = "プログラマ名" を探し出しプログラマ名の前に"#"をつけて desc = "#プログラマ名" とするとリストに出なくなります。)

3 プログラマとターゲットボードを接続して電源を入れて、上部にある READボタンをクリックします。正常に動いているとAVRのデバイスを認識してデバイス名とヒューズビットを表示します。このボタンは接続の確認のために多用します。特にヒューズやプログラムを書き込む前には必ずクリックする習慣にしています。

4 その他の操作はボタンでほとんど理解できると思います。
 ヒューズの書き込み→窓に16進数を書き込んでその右のWRITEボタンをクリックします。
 プログラムの書き込み→Flash窓にドラッグアンドドロップしてWRITEボタンをクリックします。
 プログラムのダンプ→DUMPボタンをクリックします。
 EEPROMに書き込み→xxx.eepファイルをEEPROM窓にドラッグアンドドロップしてWRITEボタンをクリックします。

極めて多機能なダウンローダですからセットアップして置いて機会があれば使い、スキルを高めるのが良いかと思います。私自身はそこまでできていませんが…。


ヒューズビットについて思うこと

1 装置を分解してAVRデバイスを再利用するときのためにヒューズビットは工場出荷状態に戻すようにつとめています。外付け水晶に設定したままだと次回も水晶外付けでなければ起動できません。このときクロック8分周だけははずしておく方が便利なようです。高速書き込みができます。また、分解前にプログラムを消去しておくことも心がけています。ポートがL出力になる設定では次のプログラムを書き込むまでポートのGNDショートに注意せねばなりません。

2 BODは設定した方が良いようです。電源が正規電圧か0Vの時は問題がないのですが、立ち上がりが極めて遅い電源、立ち下がりが極めて遅い電源(大容量のCが入っているケースなど)、電源断でIOポートから電流が回る条件になるとき、など正規以下の電源電圧状態になる場合は正常な動作が期待できません。EEPROMが書き換えられたり、場合によってはFlashのプログラムが書き換えられることがあります。BODで低電圧動作をしないように設定しておくとこのような危険は少なくなると思います。























inserted by FC2 system