RP2040で作成したPICマイコン書込み器を使ってみる
こんにちは、リゲル・インテリジェンスです。
Seeed XIAO RP2040を使用してPICマイコンの書込み器を作成しました。(安直に”PicWriterUSB”と呼んでいます)
まず、”PicWriterUSB”の使い方をまとめてみたいと思います。(PIC16F1823のみ動作確認しています)
- ”PicWriterUSB”とホストPC(Mac、Windows)をUSBケーブルで接続します。
- Seeed XIAO RP2040はUSB Type-C コネクタを使用しています
- マスストレージクラスのデバイスとして接続が確立すると、RP2040ボード上の青LEDが点灯します
- ドライブ名(ボリュームラベル)「PicWriter」と認識されます
- 容量は240KBです。書込み出来る「.hex」ファイルの大きさも240KB迄となります。
- 同時にUSBシリアルポートがホストPCに認識されます
- Macでは /dev/tty.usbmodemDAE2022CDC001
- Windows10,11ではOS標準ドライバにて、COMポート:USBシリアルデバイス
- 115200baudにて接続すると、動作中のログをモニタ出来ます
- MPLAB X IDE(XC8コンパイラ)にて作成した「.hex」ファイルを「PicWriter」ドライブへコピーします。
- GUIからドラッグアンドドロップでも、コンソールからコピーコマンドの利用でも可
123456789101112131415161718USB connected.Core-1 called :2USB storage data changed, but no new 'HEX' file found.capacity 480blocks, 512Bytes/blockCore-1 called :2'HEX' files found.Name : blinkVS.hexFile size : 748ID : 048CEntry No. : 5Start sct.: 13-[ 14]-[4095]'HEX' file validation check: OK.
- GUIからドラッグアンドドロップでも、コンソールからコピーコマンドの利用でも可
- 「.hex」ファイルのチェックを行い問題がなければ、下記一連の処理を行います。処理中はグリーンLEDが点滅します。
- PICマイコンのFlashエリア、EEPROMエリアの全消去
- 「.hex」ファイルデータをPICマイコンへ書込む
- 書込んだデータのベリファイ
- Configuration memoryの設定
1234567891011121314151617PIC16F1823 rev.9 found.User ID : 3FFFh 3FFFh 3FFFh 3FFFhConfig.W: [1] 0FA4h, [2] 1CFFhCalib. W: [1] 18E9h, [2] 166BhPIC device erased.(Bulk) [ 10 msec]Program memory(Flash) write, offset:00000hConfiguration memory store, offset:1000EhPIC device programmed. [ 20 msec]Program memory(Flash) verify, offset:00000hPIC device verified. [ 6 msec]Configuration memory write, offset:10000hConfiguration memory verify, offset:10000hConfiguration memory updated. [ 30 msec]All sequence completed! total 179 msecPIC freerun mode.
- 全ての処理が正常に終わるとRO2040ボード上のLEDが緑に点灯します。
- エラーがあれば赤に点灯します。下の写真で赤く光っているのは電源LED(点きっぱなし)です。
- 正常終了した場合、RP2040のPICマイコン制御ラインのMCLR/VPPをLowに、ICSPCLK、ICSPDATをHi-z(入力)に設定し、VDDをONします。これにより、PICマイコンは書込まれたソフトウェアを即時実行します。(フリーランモードと呼んでいます)
PICマイコンにLチカサンプルコードを焼いたところ
- 「PicWriter」ドライブをホストから切断します。(Mac:イジェクト、Windows:デバイスの取り外し)
- RP2040ボード上のLEDが青点滅します
- USBケーブルを外します。
なお、複数の「.hex」ファイルをコピーした場合はディレクトリエントリで最初に見つかった(最初にコピーした)ファイルのみが書込み対象になります。一度書き込んだ「.hex」ファイルを消去して別の「.hex」ファイルをコピーすると、PICマイコンに対して再度書込みを行いますが(上書き書込み)、同じ「.hex」ファイルの場合は書込みを行いません。
次回以降、ハードウェアとソフトウェアの概要をまとめていきたいと思います。
コメント