H8の開発環境がMacでできているから、PICの開発環境も欲しいと思ってMacにインストールすることにした。
以前、別のMacにEclipseベースの開発環境をインストールしたことがあったけど、Eclipse自体が重くてあまり好きじゃないので、テキストエディタとコマンドラインで動くのをインストールすることにした。
どうせ問題が出るのは配線の間違いとかいうレベルで、Windows版でもあまりソースレベルデバッガは役に立たないので、今のところデバッガ自体いらないし。
ググるとすぐに見つかった。
CコンパイラとPICKit2のコマンド。
Cコンパイラはpicc-9_81-osx.zipファイルを解凍するとpicc-9_81-osx.runというシェルスクリプトができるので、それをターミナルから実行。
実行するとインストール先を聞いていくるので入力。インストールが始まって最後にライセンスのテキストが表示されて、それを読んで承認するか?と聞いてくるのでy/nで答え、最後にシリアルを聞いてくるので(lite版を使うので)liteと入力して終わり。
PICKit2のコマンドはPK2CMDv1-20MacOSX.zipというファイル。解凍するとPK2CMDv1-20MacOSXというフォルダーができて中にpk2cmd, PK2DeviceFile.dat, PK2V023200.hex, Readme For PK2CMD MacOSX.txtという4つのファイルができる。
Readmeに書いてあるけど、pk2cmdを/usr/local/binにコピーし、PK2DeviceFile.datを/usr/share/pk2にコピー。/usr/share/pk2をPATHに追加。
とりあえずPIC16F88にLEDを1つ付けてチカチカさせることに。
ソースコードはこんな感じ。
#include <htc.h> #ifndef _XTAL_FREQ #define _XTAL_FREQ 8000000 #endif __CONFIG(INTIO & WDTDIS & PWRTEN & MCLREN & BORDIS); void main(void) { OSCCON = 0x07 << 4; // 8MHz TRISA = 0x00; ANSEL = 0; while (1) { RA0 = 0; __delay_ms(90); RA0 = 1; __delay_ms(90); } }
コンパイルは次のコマンドでできた。
picc --chip=16f88 main.c
コンパイルするといろんなファイルができるけど、main.hex
というファイルがPICに書き込むファイル。
で、pk2cmdコマンドで書き込む。
pk2cmd -PPIC16F88 -F./main.hex -M -R -T
実際にはpk2cmd -PPIC16F88 -F./main.hex -M
で書き込めるけど、-R
でMCLR
が処理されリセットがかかるようになり、-T
を指定するとターゲットにVcc
が供給されて、PICが動くようになる。
止めるにはpk2cmd -PPIC16F88 -F./main.hex
するとVcc
が切られて止まる。
動かした時の写真。
配線の写真。