pickleというPIC用のライタープログラムの存在を知りMac OS X雪豹で試してみた。
ソースファイルをダウンローしてmakeしたところsrc/Makefileのリンク時のmapの設定を削除しないとビルドできなかったが、外してバイナリはできた。
とりあえずPIC32MX220F032Bで試してみて、FTのシリアルでの接続は以下の通りにした。
FT | Pin | PIC32MX220F032B | Pin |
---|---|---|---|
TX | 1 | MCLR | 1 |
RTS | 3 | PGC1 | 5 |
DTR(100Ω) | 5 | PGD1 | 4 |
CTS | 4 | PGD1 | 4 |
この他に電源とグラントと通常通りつないでおきます。Vcapのコンデンサーも必要です。
バイナリーはインストールせずに試してみようと思ったが、pickleは実行ファイル名で処理を変えるようなので、p32からpickleへのシンボリックリンクを作ってみた。
設定ファイルは~/.pickleで以下を書いた。
DEVICE=/dev/tty.usbserial-000015FDA
SLEEP=0
BITRULES=0x001F
bash-3.2$ ./p32 id
[1D000000] [PROGRAM] 00002000 WORDS
[1F80F220] [DEVICEID] 04A00053 VER:0 DEV:4A00 MAN:053 PIC32MX220F032B
[1FC00000] [BOOT] 00000300 WORDS
[1FC00BF0] [DEVCFG3] FFFFFFFF
[1FC00BF4] [DEVCFG2] FFF8FFD9
[1FC00BF8] [DEVCFG1] FF7FFEF8
[1FC00BFC] [DEVCFG0] 7FFFFFFF
bash-3.2$ ./p32 program test.hex
Total: 2556
非常に遅いです。wikiにあるPEを入れるとちょっと早くなるようですが、それでも結構遅いです。
src/MakefileをいじってlibftdiをリンクしてFTのbitbangを使えるようにしたのですが、シリアルでのアクセスより遅くなってしまいました。作者に聞いたら、ラズパイZeroは早いって事のようです。微妙に釈然としないのですが。。。