PICの開発環境を整える
はじめに
Arduinoを弄っていて、プロトタイプとしてはいいけど半田付けすることまで考えると、小さくて安くないと駄目だなということに気づき、改めてPICをちゃんとやる必要があるなということで、まずは環境構築をすることにしました。今回はその備忘録になる。
環境
- Windows10
- 秋月のPICプログラマー(AE-PICPGM USB1)
- PIC16F628A
MPLAB X IDE をインストールする
PICのプログラムを実装するにあたりIDEが必要なので、MPLAB IDEを用意する。
数年前ふれてたときは、MPLAB IDEだったのが、MPLAB X IDEになっており時代を感じた...
ビルドするまでには、以下のモノが必要になるためひとまず揃える。
MPLAB X IDE
以下のサイトから最新版(現時点での最新バージョンはMPLAB X IDE v5.50)の「MPLAB X IDE Windows」をダウンロードする。 ダウンロード後、Free版でインストール開始(デフォルト指定で進めた)
https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-x-ide
Cコンパイラ(MPLAB XC8、MPLAB XC16、MPLAB XC32)
IDEを起動すると、コンパイラーが見つからないという警告が表示されるので別途コンパイラーをインストールする。 コンパイラーは以下のサイトからダウンロードできるが、種類が複数あるので適切なモノを選択する必要がある。
https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-xc-compilers#
PICファミリがPIC16なのでXC16かなと思ったが、よくわからないので調べてみた。
すると、わかりやすい説明のサイトが見つかったので、下記のサイトを参考に「XC8」をインストールする。
shizenkarasuzon.hatenablog.com
MPLAB XC8
8ビットPIC用のCコンパイラです。PIC10/12/16/18にプログラムを書き込むことができます。MPLAB XC16
16ビットPIC用のCコンパイラです。PIC24/dsPICにプログラムを書き込むことができます。MPLAB XC32
32ビットPIC用のCコンパイラです。PIC32にプログラムを書き込むことができます。
PICkit2 Programmer をインストールする
IDEでビルドしたHEXファイルをPICに書き込むためには、PICプログラマーのソフトウェアが別途必要になる。 今回利用する秋月の「AE-PICPGM USB1」はPICkit2互換のタイプのため、PICkit2 Programmerを用意する。
https://www.microchip.com/en-us/development-tool/PG164120
「PICkit 2 V2.61 Install with .NET Framework A」をインストールする。
動作確認用のLチカ実装する
実装するための環境が整ったので動作確認用のソースを用意する。
まずは、新しいプロジェクトを作成する
File > New Project...
Microchip Embedded を選択する
PICの型番を入力していくと候補が出てくるので選択する
Noneのままで次へ
コンパイラーは、先程インストールしたXC8を選択する
最後にプロジェクト名を入力する
動作確認用のmain.cファイルを作成する
ここのサイトにあるLED点滅プログラムを拝借する。 jh7ubc.web.fc2.com
#include <xc.h> #include <stdio.h> #include <stdlib.h> #define _XTAL_FREQ 4000000 #pragma config FOSC = INTOSCIO #pragma config WDTE = OFF #pragma config PWRTE = ON #pragma config MCLRE = OFF #pragma config BOREN = OFF #pragma config LVP = OFF #pragma config CPD = OFF #pragma config CP = OFF void main() { CMCON = 0x07; TRISA = 0b00100000; TRISB = 0x00; PORTA = 0x00; PORTB = 0x00; while(1){ RB0 = 1; __delay_ms(500); RB0 = 0; __delay_ms(500); } }
Build Main Project を選択してビルドする
正常終了すると「BUILD SUCCESSFUL (total time: 2s)」みたいなメッセージが出力される。
ビルドが終わると、以下のフォルダにHEXファイルが出力される。
※ ここに出力されたHEXファイルをPICkit2 ProgrammerでPICに書き込む。
C:\Users\user-name\MPLABXProjects\led-sample.X\dist\default\production
led-sample.X.production.hex
PICにプログラムを書き込む
PICプログラマにPICを刺してUSBをパソコンに接続する
その状態でPICkit2を立ち上げると、接続の確認ができる
File > Import HEX でHEXファイルを読み込む
write を押して書き込む
※「Programming failed at Program Memory address 0x000000」が表示されるようになった場合
Pickit2でPIC16f628Aに書き込む時、いきなり上記エラーが発生した場合は、設定を見直すと解決する。
回路組む
PICの準備は整ったので、あとは回路を組み上げる。回路は、以下のようにして電源をつなげれば無事LEDが点滅する。
おわりに
数年ぶりのPIC用の開発環境を構築した。
以前はWindowsしかなかった気がするが、現在はMacでも利用できるようになってるのはいいなと思った。
昔のPICプログラマーだけどまだ使えるか?Windows10で動くか?など、色々と心配していたが環境が作れたのでいったん安心した。