トップページ 組込みソフト PICマイコン ROMライター


ROMライター   更新:2010/2/8
内臓ROMに書き込む
 Windowsのソフトを作成するには、
Visual Studioなどでソースファイルを作り、ビルドすれば即動作することができます。
 しかし、PICでは動作する環境がパソコン上ではありません。作成した電子回路(ターゲットボード)上で動作します。プログラムの開発は、
1.ソースファイルの作成
2.コンパイル
3.リンク
をすることはパソコンソフトでも、PICのソフトでも同じです。ただし、生成物が異なります。
パソコンではexeファイル
これはパソコンで即実行可能なファイルです。
PICでは拡張子がhexのファイルができます。このファイルはメモ帳などのテキストエディターで読むことができるファイルです。MCUのアドレスにどんなデータを書き込むかを指定する内容が入っています。このデータを読んでも16進データが書き込まれているので解読はおそろしく面倒です。一般にこの内容を解読する必要はありません。しかし、これをやる場合もあります。作成したhexファイルにコンパイラ、リンカーなどの不具合が疑われるときは解析しなければなりません。この状況が起きてしまったら、大変悲惨なことにないます。こんなことがないように信頼のおける開発ソフトを選定する必要があります。

パソコンで生成したhexファイルをMCUのROMに書き込むには次のような方法があります。
1ROMライター
 ROMライターを購入する必要があります。出費を伴います。
操作は次のようになります。
手順1)パソコンで生成されたhexファイルをRS-232CなどでROMライターに転送します。
手順2)ROMライターにMCUを装着し書き込みの操作をする。
手順3)MCUを取り出しターゲットボードに装着する。
手順4)ターゲットボード上で動作させる。
 この方法では、すでに完成したソフトでは1回だけの作業で終わりです。しかし、ソフトの開発途中では何回もROMライターでMCUに書き込んでターゲットボードに挿すということを繰り返すのでICソケットとMCUの接触不良が発生する恐れがあります。動作不良の原因がプログラムなのか接触不良なのか?余計な手間がかかることがあります。
基板を小さいしたい。
余計な回路は作りたくはない。
という理由から今回はこのような開発には不向きなROMライターでMCUのROMを書き込むことにしました。
2.ICSP(In Circuit Serial Programing)
 MCUを基板上に挿したままで、プログラムをROMに書き込む方法です。ソケットからMCUを取り外す手間と接触不良をなくすことができます。ただし、目的の回路以外に書き込みをする回路が必要になります。
 また、マイクロチップ社のPic Kit2やMPLAB ICD2を購入する必要があります。これは便利そうですが、開発前によく知らなかったので、今回は使いません。
 MPLABとIDEとC18コンパイラを使った場合に大変便利な環境であると思われます。
3.ブートローダー
 いったんブートローダーのプログラムをMCUに書き込みします。次に目的のプログラムをRS232Cで送って書き込みます。この方法もMCUを抜き差ししないので便利です。
しかし、ブートローダーのプログラムを1回書き込む処理が必要なのでROMライターが必要になります。また、ブートローダーのプログラムを作成しなければなりません。
購入したROMライター
秋月さんでAKI-PICプログラマー Ver.4(完成ボード)を買いました。
特に厳選したわけではありません。最初は
PIC18F4550 USBマイコンボード 完成品
の書き込みができればいいくらいに思っていました。しかし、USB対応のMCUで
PICマイコン PIC18F14K50-I/P
という製品があります。これを次の開発で使いたいと思ったのですが、対応していません。また、PC18Fシリーズの対応MCUは少ないです。もう少しいろいろ調べればよかったなと思っています。
 2ヶ月くらい使いましたが、特に問題などはありません。