PICはじめました

H8ボードで遊んでいたら、PICで開発することになった。
とあるセンサから値を定期的に取って、ネットの向こう側にあるサーバに計算した値を投げるというやつだ。
最初、H8ボードで組もうと思っていたのだけど、ハードウェアを作ってくれる会社がPICの方がコストが下がるということなので、PICでやることにした。
初めてのPICなので、いろいろと調べた。
まずは開発環境だ。
PICを作っている会社Microchip純正のMPLABとMPLABXというのがあり、MPLABはWindowsで、MPLABXは、Netbeanベースのマルチプラットフォームだ。自分は、Ubuntuを基本的に使っているので、MPLABXだな。
と思っていたが、参考にする本や開発ボードについてくるサンプルコードや資料が、歴史のあるMPLABをターゲットにしているので、とりあえずMPLABでやってみることにした。
というわけで、ThinkPadに最初についてきたハードディスクを宝物入れから取り出して、Windows環境をセットアップ!
とりあえず、Windows Updateから始めよう。。
MPLAB自体は、特に問題なくインストールできた。
PICは、PIC18F系のネットワークモジュールが入っている石を使用することにした。

参考にした本は、これだ。

PICで楽しむネットワーク接続機器の自作

PICで楽しむネットワーク接続機器の自作


これには、開発ボードを自作する手順も書いてあるのだが、表面実装版のPIC64ピンをはんだ付けする技術と根性は私にはないので、市販の開発ボードを買うことにした。

共立電子「KBC-P18LAN2」が比較的に安価なので、これを購入した。このボードに付いてくるPICは「PIC18F67J60」だった。

Microchip社は、PICのライブラリをいろいろと提供しておりこれを使用すれば比較的楽にアプリケーションが作れるということになっている。しかし、このライブラリの環境づくりに手こずった。

KBC-P18LAN2」に付いてきたライブラリのバージョンは、「v2010-10-19」
ネットからダウンロードした最新版のバージョンは、「v2012-08-22」
2年程違うので、中身もそれなりに変わっていた。

まずは、「KBC-P18LAN2」のサンプルコードをビルドできる環境を作ってみることにした。
とりあえず、ライブラリは、「v2010-10-19」のやつをインストール。
Windows環境の場合、デフォルトで「c:\Microchip Solutions v2010-10-19\」にインストールされるようだ。
ディレクトリにスペースが入るのが気持ち悪い。。


サンプルコードは、このライブラリを絶対パスで参照しているようで、さらにこのライブラリを書き換えているみたい。ビルド手順には、付属のコードをライブラリにコピーするバッチファイルが提供されている。この辺のお作法が、PIC初心者にはよくわからない。
絶対パスで、ライブラリを指定していたり、そのコードを直接書き換えるのが気持ち悪い。


プロジェクトの中にライブラリを配置して、そこを参照・修正するのがよいと思うが、Java開発に毒されているからだろうか。。


あとは、サンプルコードのP18LAN.mcw(ワークスペースファイル? )をクリックすれば、MPLABが立ち上がって、ビルドできるようになる。ライブラリをインストールしていなかったり、コードを書き換えていなかったりするとビルドエラーになる。

PicKit3をつないで、ボードにさして、書きこめばよい。しかしここでひとつ問題が、ボードはコンパクトなため、いろんな部品の密集度が高く、なぜかDCジャックのよこにPicKit3をさすピンヘッダがある。つまり、PicKet3を直接指そうとするとDCジャックがじゃまで、さきっぽぐらいしかささらない。運がよければ、書き込めるかもしれないがこれでは不安定すぎる。。
ということで、延長ケーブルを追加注文。。
KBC-P18LAN2」を購入するときにイヤな気がして、窓口で聞いてみたのだけれど、もっとつっこんで質問しておけばよかった。。っていうかこれは配置がおかしいと思うがまぁしかたがないのだろう。