MiniPICProgは、2008年9月5日からFENG3作 PICProg4U に統合され、PIC10F系列〜PIC18F系列(18ピン-40ピン)のほぼすべてのデバイスに対応するようになりました。PICProg4Uでは、ハーフマット製のミニPICプログラマはメニューの「設定」>「プログラマ」>「Writer509」を選択してください。現行のMiniPICProgで不具合が生じる場合は、PICProg4Uをお試しください(PICProg4Uはフリーソフトです)。なお、統合にともない、MiniPICProgの今後の更新作業は終了いたします。
MiniPICProgは、ハーフマット製のミニPICプログラマ専用のソフトウェアとして開発されました。バージョン1.2.2からはWriter509をベースにした他のプログラマでも利用できるように公開しました。
MiniPICProgは、 .NET Framework Version 2.0 以降で動作するように開発されています。開発環境は、Visual Basic 2005(Visual Studio 2005)です。
動作環境は、Windows 98/Me、Windows 2000、 Windows XP、Windows Vista の各Windowsバージョンです。
MiniPICProgの最新バージョンは、1.2.8 (2008-02-08 ビルド)です。
MiniPICProgは当初はPIC18F系列対応のファームウェアバージョン1.24を搭載したプログラマのみをサポートしていましたが、MiniPICProgバージョン1.2.2からは、PIC18F系列に対応していない、旧バージョンのファームウェア(バージョン1.20〜1.23)を搭載したプログラマもサポートするようになりました(ファームウェアのバージョン1.22以前は高速化未対応です。ファームウェアバージョン1.23は高速化に対応しています)。MiniPICProgバージョン1.2.0からのおもな変更、追加、修正、既知の問題については、ここをご覧ください。
今次バージョンアップのおもな特徴
NEW! PIC10FシリーズでHexファイルのコンフィグワードの読み込みと保存の不具合があったのを修正しました。
既知の問題
USBシリアルポート以外の仮想COMポートを使用するデバイスが存在する場合、COMポート数が不一致となってエラーが表示され、起動に失敗することがあります(かならずしも不一致となるわけではなく、いまのところ原因は不明です)。
2007年10月30日現在(PIC18F系列はファームウェアVer1.24以降が必要)
赤色は新規に追加した機種、*印はMiniPICProgによる書き込みテスト未実施
PIC10F系列 | PIC10F200 | PIC10F202 | PIC10F204 | PIC10F206 | PIC10F220 | PIC10F222 | ||
PIC12F系列 | PIC12F508 | PIC12F509 | PIC12F510 | |||||
PIC12F629 | PIC12F635 | PIC12F675 | PIC12F683 | |||||
PIC16F系列 | PIC16F54 | PIC16F57 | PIC16F59 | |||||
PIC16F505 | PIC16F506 | |||||||
PIC16F627 | PIC16F628 | |||||||
PIC16F627A | PIC16F628A | PIC16F648A | ||||||
PIC16F630 | PIC16F636 | PIC16F676 | ||||||
PIC16F684 | PIC16F685 | PIC16F687 | PIC16F688 | PIC16F689 | PIC16F690 | |||
PIC16F716 | ||||||||
PIC16F72 | PIC16F73 | PIC16F74 | PIC16F76 | PIC16F77 | ||||
PIC16F737 | PIC16F747 | PIC16F767 | PIC16F777 | |||||
PIC16F818 | PIC16F819 | |||||||
PIC16F84A | ||||||||
PIC16F87 | PIC16F88 | |||||||
PIC16F870 | PIC16F871 | PIC16F872 | PIC16F873 | PIC16F874 | PIC16F876 | PIC16F877 | ||
PIC16F873A | PIC16F874A | PIC16F876A | PIC16F877A | |||||
PIC16F882* | PIC16F883 | PIC16F884 | PIC16F886 | PIC16F887* | ||||
PIC16F913 | PIC16F914 | PIC16F916 | PIC16F917 | PIC16F946* | ||||
PIC18F系列 | PIC18F242 | PIC18F248 | PIC18F252 | PIC18F258 | ||||
PIC18F442 | PIC18F448 | PIC18F452 | PIC18F458 | |||||
PIC18F1220 | PIC18F1320 | PIC18F2220 | PIC18F2320 | PIC18F4220 | PIC18F4320 | (1) | ||
PIC18F2450 | PIC18F2455 | PIC18F2550 | PIC18F4450 | PIC18F4455 | PIC18F4550 |
注(1) PIC18FXX20でプログラム書き込みに失敗する場合は、VDDとVSSの間に0.1μFのコンデンサ、または10kΩの抵抗を挿入すること
■ VCPドライバ のインストール
ミニPICプログラマをお使いになられているパソコンに接続する前に、ミニPICプログラマのFT232RL用の仮想COMポート(Virtual COM Port, VCP)ドライバをインストールしておく必要があります。インストールがまだでしたら、FTDI社のホームページの仮想COMポートドライバのダウンロードページからドライバソフトをダウンロードし、パソコンにインストールしておきます。
ドライバのセットアッププログラムのほうが、クリック1つでかんたんにドライバがインストールできます。ドライバのインストール後、ミニPICプログラマをUSBポートに接続します。自動的にミニPICプログラマがUSBシリアルポートとして認識されます。ドライバをアンインストールする場合は、「コントロールパネル」の「プログラムの追加と削除」でおこないます。
ドライバ単体の場合は、適当なフォルダに解凍したドライバのファイルをおいておき、ミニPICプログラマをパソコンのUSBポートに接続します。あとはWindowsの指示にしたがってドライバをインストールします。ドライバをアンインストールする場合は、解凍したドライバのファイルの1つにアンインストーラが同梱されていますので、それを使用します。
ミニPICプログラマがUSBシリアルポートとして認識されたら、「デバイスマネージャ」でUSBシリアルポートのレイテンシータイマを調節しておきます。
Windows 98/Me 用のドライバにはセットアッププログラムがありませんので、ドライバソフトをダウンロードして適当なフォルダに解凍しておき、ミニPICプログラマをパソコンに接続して、Windows の指示にしたがってドライバソフトをインストールします。
FTDI社のホームページ FTDI Chip Home Page
仮想COMポートドライバのダウンロードページ Virtual COM Port Drivers
Windows Vista、Windows XP、Windows 2000 用セットアッププログラム (2007-07-03、 最新版)
Windows Vista、Windows XP、Windows 2000 用ドライバ (2007-07-03、 最新版、上記セットアッププログラムのほうの使用をおすすめします)
Windows 98/Me 用ドライバ (2004-11-24)
■ .NET Framework のインストール
MiniPICProgをインストールする前に、ご使用になられている Windows に.NET Framework のVersion 2.0 以降がインストールされていなければ、それをあらかじめインストールしておく必要があります。
Windows Vista はWindows Vista がインストールされたときに .NET Framework のVersion 3.0 も同時にインストールされていますので、改めてインストールする必要はありません。
Windows Vista 以前のバージョンのWindows では、「スタート」ボタン > 「コントロールパネル」 > 「プログラムの追加と削除」を選択して、.NET Framework のVersion 2.0 以降がお使いになられているパソコンにインストールされているかどうかを確認することができます。
.NET Framework のVersion 2.0 以降がお使いになられているパソコンにインストールされてiいなければ、Microsoft Update (または Windows Update)を実行して、「高速インストール」でお使いの Windows を最新の状態にしたあとで、「カスタムインストール」をおこない、.NET Framework をインストールします。
.NET Framework のVersion 2.0 と .NET Framework のVersion 3.0 は、両方をインストールしても差し支えありません。.NET Framework のVersion 2.0 がインストールされているWindowsに.NET Framework のVersion 3.0 をインストールすると、.NET Framework のVersion 3.0 で新たに付け加えられたファイルだけがインストールされます。.NET Framework のVersion 2.0 がインストールされていないWindowsに.NET Framework のVersion 3.0 をインストールすると、.NET Framework Version 2.0 のコンポーネントとVersion 3.0 で新たに付け加えられたファイルがインストールされます。
備考 .NET Framework ホーム http://www.microsoft.com/japan/msdn/netframework/ からも.NET Framework の再頒布パッケージと日本語 Language Pack のダウンロードとインストールをおこなうことができます。
■ MiniPICProg のインストール
MiniPICProg (バージョン 1.2.9 、2008-02-08 ビルド、LZH形式圧縮ファイル、309KB)をダウンロードして、適当なフォルダ(ディレクトリ)に解凍します。MiniPICProg.exe がプログラム本体です。アイコンまたは適当な場所に作成したショートカットをクリックするとプログラムが起動します。
■ MiniPICProg のアンインストール
MiniPICProg はレジストリの操作をしておりません。MIniPICProgをアンインストールするには、MiniPICProg をインストールしたフォルダの内容を削除するか、フォルダごと削除してください。
以上の操作で、デバイスの消去、プログラム書き込み、照合(ベリファイ)が自動的におこなわれます。したがって、事前にデバイスを個別に消去する必要はありません。
MiniPICProg を終了するには、メインメニューの「ファイル(F)」 > 「終了(X)」を実行するか、MiniPICProg のタイトルバーの「X」ボタンをクリックします。
■ メインメニュー
「ファイル(F)」
開く(O) デバイスに書き込むプログラム(Hexファイル)を開いてパソコンのバッファに読み込みます。
保存する(S) パソコンのバッファの内容をHexファイルに保存します。
終了(X) MiniPICProg を終了します。現在のバージョンでは設定ファイルは保存されません(準備中です)。
「デバイス(D)」
PIC10F ドロップダウンリストからPIC10F系列のデバイスの機種名を選択します。
PIC12F ドロップダウンリストからPIC12F系列のデバイスの機種名を選択します。12ビットコアと14ビットコアの両方の機種が含まれています。
PIC16F ドロップダウンリストからPIC16F系列のデバイスの機種名を選択します。12ビットコアと14ビットコアの両方の機種が含まれています。
PIC18F ドロップダウンリストからPIC18F系列のデバイスの機種名を選択します。
「プログラム(P)」
すべて書き込む(A) オプションで選択されているメモリ領域に書き込みます。
選択して書き込む(W) プログラム(P)、EEデータ(D)、コンフィグワード(C)、ユーザーID(U)、周波数補正値(F)の各メモリ領域に個別に書き込みます。データEEPROMが内蔵されていない機種では、EEデータに書き込むことはできません。周波数校正値は、小型のデバイスのプログラムメモリの最終番地に内蔵クロックの周波数の校正値が書き込まれている場合のみ有効です。コンフィギュレーションメモリに校正値が書き込まれている機種については、誤消去を防ぐため、MiniPICProgでは校正値を読み取ることだけ可能としています。
読み込む(R) デバイスからメモリの内容を読み取ります。
照合する(V) デバイスから読み取ったメモリの内容とバッファの内容(Hexファイル)とを比較・照合(ベリファイ)します。
消去する(E) デバイスのメモリの内容を消去し、何も書き込まれていない状態に戻します。
ブランクチェック(B) デバイスのメモリに何も書き込まれていない空白状態かどうか検査します。
オプション(O) オプションのタブウインドウに移動します。
「設定(S)」
設定のタブウインドウに移動します。
「ヘルプ(H)」
ヘルプ(H) ヘルプファイルは準備中ですのでまだ表示されません。
MiniPICProgについて(A) いわゆる About... です。
最新版の有無を確認する(N) 準備中です。
■ ボタン
メインメニューでよく使われる機能がボタンで操作できます。
「開く」
デバイスに書き込むプログラム(Hexファイル)を開いてパソコンのバッファに読み込みます。「読み込む」
デバイスからメモリの内容を読み取ります。「書き込む」
オプションで選択されているメモリ領域に書き込みます。右クリックで以下の操作が選択できます。
(1)「現在のバッファの内容を書き込む」
(2)「Hexファイルを再び読み込んで書き込む」
(3)「Hexファイルを新規に読み込んで書き込む」「照合する」(ベリファイ)
デバイスから読み取ったメモリの内容とバッファの内容(Hexファイル)とを比較・照合(ベリファイ)します。「消去する」
デバイスのメモリの内容を消去し、何も書き込まれていない状態に戻します。「空白検査」(ブランクチェック)
デバイスのメモリに何も書き込まれていない空白状態かどうか検査します。
■ タブウインドウ
タブウインドウには、さまざまな情報が表示され、また、プログラム書き込み時のオプションの選択をおこなったりすることができます。
「プログラムメモリ」
プログラムメモリの内容が表示されます。セルの内容の編集機能は準備中です。
「EEPROM」
データEEPROMが内蔵されている機種では、データEEPROMの内容が表示されます。セルの内容の編集機能は準備中です。
「コンフィギュレーション」
ユーザーIDロケーション、コンフィギュレーションワード、デバイスIDなどが表示されます。
「コンフィグビット」
コンフィギュレーションワードの各ビットの状態を個別に表示します。ビットの設定をドロップダウンリストで選択して変更することもできます。
「オプション」
デバイスの消去、プログラム書き込み、および照合に際してのオプション項目です。表示される項目は、デバイスによって異なります。
ビジュアル表示する メモリウインドウに照合の経過と結果が視覚的に表示されます。オフにすると表示の時間が短縮されます。「設定」
おもにハードウェアに関する設定をおこないます。
再検索 シリアルポートとプログラマを再検索します。「詳細情報」
MiniPICProgが起動してからの操作とその結果を記録して表示します。マウスの右ボタンをクリックして内容をコピーあるいは保存することができます。不具合が生じたときの原因究明の参考になります。
PICProg4UをWriter509対応にする目的で開発をすすめてきたのですが、開発環境がVS2003からVS2005に変わる中で膨大な行数のソースコードの大幅な見直しをせまられました。そして、プログラムがあまりにも複雑に入り組んでしまったため、Writer509対応部分を切り離し、多言語対応機能などを削除して、独自のMiniPICProgとして開発することにしました。皆様のご感想やバグ報告等をお待ちしております。
利用可能なCOMポートが複数存在する場合、その数が増えるにしたがってプログラムの起動に時間がかかっていた問題を改善しました(プログラマが見つからない場合のメッセージ表示間隔をを1秒からゼロに変更)。
2008-02-08 バージョン1.2.9
不具合の修正:
PIC10FシリーズでHexファイルのコンフィグワードの読み込みと保存の不具合を修正しました。
2008-01-20 バージョン1.2.8
不具合の修正:
PIC18FシリーズでデバイスIDの取得に失敗するバグを修正しました(前回バグ取りのミスが原因でした)。
2007-11-20 バージョン1.2.6、同日バージョン1.2.7を公開しました。
不具合の修正:
PIC16F57、PIC16F59のデバイス情報の間違いを修正しました(バージョン1.2.7)。
利用可能なシリアルポートが複数存在する場合、その数が増えるにしたがってプログラマの検索に時間がかかっていた問題を修正しました(バージョン1.2.6)。
機能の追加:
「現在のバッファの内容を書き込む」「Hexファイルを再び読み込んで書き込む」「Hexファイルを新規に読み込んで書き込む」を「書き込む」ボタンの右クリックメニューで選択できるようにしました(バージョン1.2.6)。
2007-11-02 バージョン1.2.5を公開しました。
バグの修正:
バージョン1.2.4で採用した書き込み方式で、4ワードと8ワードの書き込み方式に対応しているデバイスのうち、いくつかのデバイスで不具合があったのを修正しました。
2007-10-30 バージョン1.2.4を公開しました。
バグの修正:
12ビットコアのデバイスで、「オプション」の「プログラム書き込み」でプログラムメモリとユーザーIDを選択せず、「照合」で書き込み後に照合を選択した場合、その後のコマンドが無視されていた問題を修正しました。
PIC16F716にプログラム書き込みができなかった問題を修正しました(PIC16F716はこのページのバージョン1.2.2のサポートデバイス一覧には掲載されていなかったのですが、ハーフマットの説明書やMiniPICProgのドロップダウンリストからは選択できるようになっていました。今回、正式に新規サポートデバイスに追加しました)。
14ビットコアのデバイスのブランクチェック時にプログレスバー表示が進行しない問題を修正しました。
対応機種の追加:
PIC16F882、PIC16F883、PIC16F884、PIC16F886、PIC16F887を正式にサポートデバイスに追加しました(4ワード、8ワード書き込み方式に対応)。
Calibration を校正、Calibration Value を校正値、Calibration Word をキャリブレーションワード、Calibration Bit(s) をキャリブレーションビットにそれぞれ表記を統一しました。
「オプション」の「デバイスの消去」で「周波数校正値」を無効にしました(校正値を消去してまでその1ワードをユーザープログラムに置き換えるという需要がないため)。
新規開発した12ビットコア用のディスアセンブラを試験的に内蔵しました。
1ワード書き込み方式以外に2ワード、4ワードおよび8ワード書き込み方式に対応している機種にたいしては、それらの複数ワード書き込み方式を優先するように変更しました(従来は1ワード書き込み方式を優先していました)。あわせて、Writer509の作者による「Advanced Write」方式を採用しました(Writer509のファームウェアバージョン1.23から Advanced Write をサポートしていますが、MiniPICProgではファームウェアバージョンから Advanced Write を適用するかどうかを自動的に判断しています)。
2007-07-26 バージョン1.2.2を公開しました。
バグの修正:
デバイスIDを確認する際に利用する内蔵データベースの不備でPIC16F627、PIC16F628、PIC16F873にたいして「オプション」の「デバイスIDを確認」をオンにしていた場合、プログラムの読み書き等ができなかった問題を修正しました。
PIC16F88およびPIC16F84Aでデバイスが完全に消去できないことがあった問題を修正しました。
PIC16F87、PIC16F88、PIC16F818、PIC16F819、PIC16F737、PIC16F747、PIC16F767、PIC16F777、PIC16F883、PIC16F884、PIC16F886、PIC16F887で「すべて書き込む」("書き込む"ボタン)を選択したとき、コンフィグワードが正しく書き込まれない問題を修正しました。
PIC12F629/675、PIC16F630/676でコードプロテクトを設定した場合、デバイスの選択をやり直さないとコードプロテクトが解除できなかった問題を修正しました。
データEEPROMの照合(ベリファイ)時の不具合を修正しました。
データEEPROMの内容がただしくファイルに保存できなかった問題を修正しました。
「ファイル」 > 「終了」でソフトが終了しなかった問題を修正しました。
COMポートおよびプログラマの「再検索」と「バージョン」のボタンを押しても正しく機能しないことがあった問題を修正しました。
12ビットコアのデバイスで、補正値(校正値、キャリブレーションデータ)が消失した場合、それを手動で書き戻そうとしても、作業が中止する問題を修正しました。
機能の追加と削除:
ファームウェアバージョン1.20〜1.23のプログラマもサポートするようにしました。
照合(ベリファイ)時のビジュアル表示をしないように選択できるようにしました(照合の実行が少し速くなります)。
テストメモリの表示機能を利用できないようにしました(動作速度が少し速くなります)。
1ワードずつ書き込むアルゴリズムしかないデバイスでは、「書き込み中に照合する」オプションが選択できるようにしました(「このオプションを選択して「書き込み後に照合する」のチェックをはずすと、プログラム書き込みの速度が速くなります)。
PIC12F629/675、PIC16F630/676でプログラム書き込みが途中で失敗した場合、補正値(校正値、キャリブレーションデータ)が読み込まれていた場合は可能な限り自動的に書き戻すようにしました。
コードプロテクトを設定したHexファイルを書き込む場合、照合が完了してからデバイスにコードプロテクトを設定するように手順を変更しました。
2007-07-12 バージョン1.2.0を公開しました。
MiniPICProgを公開してから、もういちど書き込みテストをしてみますと、あまりにも多くのバグがみつかりましたので、いそいでバグをつぶしました。公開直前に、プログラムサイズを小さくするために、PICProg4Uで使用していたJDMプログラマやRCDライタ用のコードを削除したのですが、そのときにWriter509と共用していたコードも一部削除してしまったのが原因です。そのため、デバイスによってはプログラム書き込みがまったくできない、消去できないという事態になりました。
バージョン1.2.0 では、そうした不具合を修正すると同時に、高速な書き込みアルゴリズムに対応しました。
2007-07-10 バージョン1.0.0を公開しました。
ミニPICプログラマ(PIC18F対応版)以前のファームウェアを搭載した旧版ミニPICプログラマにはまだ対応しておりません(対応予定あり)。
MiniPICProg起動時、あるいは操作中にミニPICプログラマとのコミュニケーションに失敗して通信エラーとなることがあります。その場合は、MiniPICProgを終了し、ミニPICプログラマを接続しなおして再度MiniPICProgを起動してください。それでも通信エラーが頻発するときは、FTDIチップのレイテンシータイマを調節してみてください。
チェックサムは、コードプロテクトが設定されていないときだけ計算どおり表示されます。
既知の問題
シリアルポートに複数のミニPICプログラマまたはWriter509が接続されている場合は、COMポート番号の若い方に接続されているプログラマのほうのみが有効になります。
仮想COMポートの番号が63を超えると、通信エラーが生じるようになります(Windowsの制約)。
仮想COMポートにUSBシリアルポート以外のものが存在する場合(それらの仮想COMポートは、デバイスマネージャの「ポート(COM と LPT)」の項目にはリストされないCOMポートです。)、プログラマの検索に失敗して例外エラーを表示することがあります。COMポート数が検索途中で不一致をきたすためで、かならずしも不一致となるわけではなく、いまのところ原因は不明です。
コンフィギュレーションワード中に未実装ビットがあり、読み取ったときにそれが「1」となる場合でも、便宜上それは「0」(ゼロ)として表示され、照合(ベリファイ)のさいに無視されます。このような扱いの利点は、たとえば、PIC12C509A用に開発されたプログラムを未使用ビットのことなるPIC12F509にそのまま書き込むときに、コンフィギュレーションワードの照合でエラーにならないということです。半面、他の書き込みソフトで表示されるコンフィギュレーションワードとMiniPICProgのコンフィギュレーションワードのテキストボックスに表示されるコンフィギュレーションワードとでは値がことなることがあるかもしれない、という欠点があります(デバイスから読み取った、マスクなしの実際の値は、テキストボックスにマウスカーソルをもっていくとツールチップテキストとして表示されます)。
プログラマを接続しているシリアルポートをMiniPICProgが検出した後で、プログラマをシリアルポートから切り離してMiniPICProgを操作するとハングアップすることがあります。ハングアップした場合は、[Alt] + {Control] + [Del]キーを押してタスクマネージャでMiniPICProgのプロセスを停止してください(この問題は近々改善する予定です)。
このソフトウェアはフリーウェアとして提供されますが、使用にあたっては下記に同意する必要があります。
このソフトウェアの著作権は、法律で保護されています。このソフトウェアの使用、配布、複製は著作権者の許可なく無料でおこなえますが、商行為には著作権者の許可なく利用できません。
このソフトウェアにはバグがあるかもしれませんし、著作権者はこのソフトウェアがあなたの期待通りに動作することを保証するものではありません。このソフトウェアは無保証であり、このソフトウェアの使用により生じた直接間接の損害にたいし、著作権者は責任を負いませんし、補償もしません。あくまで自己責任において使用してください。
MiniPICProg の作者はFENG3です。
PIC Writer 509(Writer509)の作者はオレンジ電子です。
Microsoft、Windows、Microchip、PIC microその他このページに掲載されている会社名(商号)および製品名は、当該各社の商標もしくは登録商標です。
(C)2007-2008 HALFMAT All RIGHTS RESERVED