MacにPICの開発環境を入れる

まずこちらの記事を参考にMPLAB Xをインストール。
http://tumblr.ondra.cc/post/5188095448/pic-development-environment-on-mac

書き込みはこっちの記事を見てやってみる。
http://lets-embedded-system.blogspot.jp/2009/04/macpic.html
書き込みデバイス(ライタ)にはPickit2(最新はPickit3)、
ソフトウェアにはコマンドラインツールのpk2cmdを使う。

Pickit2にPICを接続し、USB経由でPCにつなぐ。その状態で以下のコマンドを打つ。

% pk2cmd -P
Auto-Detect: Found part PIC16F628A.


Operation Succeeded

のように認識されている。

今度はMPLAB Xでコンパイルしたhexファイルを書き込んでみる。

以下のコマンドを打つ。

pk2cmd -P -F (hexファイルの場所を指定) -M -R

チップイレースは、

pk2cmd -P -E

ソースは以下。
よくわかってないのでごちゃごちゃしてるけど一応動いた。
MacでPICが開発できると楽しいですね。

#include<htc.h>
#include<pic.h>

__CONFIG(
        MCLRE_OFF  //内部リセット回路を使用
        & PWRTE_ON  //パワーアップタイマを使用
        & BOREN_OFF  //ブラウンアウトリセットを使用しない
        & CP_OFF  //プログラムをプロテクトしない
        & WDTE_OFF  //ウォッチドッグタイマを使わない
        & FOSC_INTOSCCLK //内部クロック生成器を使用
);

__IDLOC(628A);

//関数プロトタイプの宣言
static void pic_init();
static void Delay_ms(unsigned char ms);
static void Delay_1ms();

main()	{
	pic_init();			// PICの初期化

	while(1) {
                RB2=1;
                RB3=0;
                Delay_ms(250);
		Delay_ms(250);
		RB2 = 0;
		RB3 = 1;
		Delay_ms(250);
		Delay_ms(250);
	}
}

static void pic_init() {
        TRISB = 0b11110011;
}

static void Delay_ms(unsigned char ms) {
	unsigned char c;
	for (c=ms ; c>0 ; c--) {
		Delay_1ms();
	}
}

static void Delay_1ms() {
	unsigned int cnt;
	unsigned int i;
	cnt = 76;

	for	(i=0 ; i<cnt ; i++) {
		NOP();
	}
}