Raspberry PiでPICマイコンを焼く
2018/5/21追記:
公式サイトや紹介しているブログを見てもらうと早いが、pickleが幅広いPICマイコンに対応している。下記で紹介されている方法では、限られたPICマイコンしか書き込みができない。pickleを使ったほうが、いろんなPICマイコンに対応していて便利かもしれないのでご参考に
何かわからないところがあったらコメントを書くか@akimasa2000にでも話しかけてくれると、答えるかも?
インストール
まずは適当なRaspberry Piを用意して、Raspbianを入れておく。そして、build-essential(おそらく初期で入っている)とgit(git cloneでダウンロードしない場合は不要)を入れる。その後、リポジトリを取得して、ビルドする。
sudo apt update sudo apt install build-essential git git clone https://github.com/WallaceIT/picberry cd picberry make raspberrypi #詳細は下表を参照
picberryの説明に次のような表がある。
TARGET | Processor/Board |
---|---|
raspberrypi | Raspberry Pi v1 or Zero |
raspberrypi2 | Raspberry Pi v2 or v3 |
am335x | Boards based on TI AM335x (BeagleBone) |
a10 | Boards based on Allwinner A10 (Cubieboard) |
自分の使うRasPiが1だったり、Zeroの場合はmake raspberrypiと、2や3の場合はmake raspberrypi2でビルドする。
接続
上の図はattiny85だと書いてあるが、これをPIC12F322だと思って欲しい。左に切り欠きがあって、左下に1ピンのサインがある。
電源以外に接続する必要があるピンはデータシートを参照してほしい。
picberryの説明に次のようにある
If not specified in the command line, the default GPIOs <-> PIC connections are the following: for the Raspberry Pi: PGC <-> GPIO23 PGD <-> GPIO24 MCLR <-> GPIO18
操作する
picberryのディレクトリに実行ファイルが出来上がっていると思うので、実行する。
次のようなメッセージが出た場合は、接続が間違っているか何か問題がある。
sudo ./picberry -f pic10f322 -b picberry PIC Programmer v0.2 Device ID: 0x0 ERROR: unknown/unsupported device or programmer not connected. Press ENTER to exit program mode...
ブランクチェック
新品のPIC10F322を使った場合は、次のようなメッセージが出てくる。
sudo ./picberry -f pic10f322 -b picberry PIC Programmer v0.2 Device Name: PIC10F322 Device ID: 0x0000014c Revision: 0x00000002 Blank check...chip is blank. Press ENTER to exit program mode...
バルクイレース
$ sudo ./picberry -f pic10f322 -e picberry PIC Programmer v0.2 Device Name: PIC10F322 Device ID: 0x0000014c Revision: 0x00000002 Bulk Erase...DONE! Press ENTER to exit program mode...
書き込み
$ sudo ./picberry -f pic10f322 -e picberry PIC Programmer v0.2 Device Name: PIC10F322 Device ID: 0x0000014c Revision: 0x00000002 Bulk Erase...DONE! Press ENTER to exit program mode...
対応しているPIC
Pull Requestにあるように、次のデバイスでの読み書きはテストした。秋月で入手できた奴だけだ…。
- PIC10F322
- PIC12LF1822
- PIC16F1823
- PIC16F1825
- PIC16F1827
- PIC16F1828
- PIC16F1829
次のデバイスでもテストは行っていないが可能なはず。(順番は昇順でなく適当なので注意)
- PIC10F320
- PIC10LF320
- PIC16F1826
- PIC16LF1826
- PIC16LF1827
- PICLF1823
- PIC12F1822
- PIC16F1824
- PIC16LF1824
- PIC16LF1825
- PIC16LF1828
- PIC16LF1829