PICマイコンについても固定ページの機能を使って整理してみます。
1.MPLAB-X環境
最近の環境ということで、MPLAB-XのLinux版について記載します。2013年11月2日の時点では最新版はv1.90です。
まずはコンパイラとしてMPLAB C18を使う場合についてです。
- MPLAB-XでPIC18のビルド環境を整える
Microchip Library for AppicationsのPIC18のサンプルプログラムはMPLAB C18でコンパイルすることが前提になっているようです。一方で、現在のMPLAB-Xの標準の8bit用コンパイラはXC8になっています。なので、「一通り」と思って環境をインストールしてもサンプルプログラムはビルドできません。
Linux版のMPLAB C18でのビルドまでを簡単に記載しています。
後半部分は環境ビルドには関係ありませんが、Linux環境でCDC Basic Demoを動かす際には要注意な内容です。 - Microchip Lirary for Applications のサンプルプログラムを動かす
サンプルプログラムをMPLABXで動かす際の設定方法について記載しています。PIC18F14K50(の評価ボード)を対象に書いていますが、PIC18F4550(の評価ボード)でも同じです。チップ単体に近い形(秋月の評価ボード)で動かす場合にはあまり問題にはなりませんが、設定に加えてI/Oポートなどの処理は変更しないと動かなかったり、誤動作することになります。 - PIC18F用にUSB HIDブートローダを動かす
毎回PICkit3を使ってPIC18F14K50のファームウェアを書き換えるのはかなり面倒です。
USB HIDブートローダを使うと簡単になりそう・・・・なのですが、落とし穴があります。最終的にはブートローダのファームウェアのソースコードを1行書き換えないと、(少なくともLinux環境では)添付されているLinux版ダウンローダは動作しません。その調査の過程と修正方法です。
次に、MPLAB C18以外のコンパイラを使う場合についてです。
- MPLAB-X環境でPIC12F675の開発はできません
結論から言うと表題の通りです。MPLAB-XとXC8でPIC12F675のプログラムはビルドできるのですが、ビルドしたプログラムはまともにPIC12F675には書き込めません。その理由はOSCCALレジスタの補正値を保持する仕掛けがMPLAB-Xでは持っていないため、プログラムの先頭で無限ループに陥ってしまうからです。おそらく12F629や12F683でも同様の結果になるのではないかと思います。(NGなのはLinux版だけかもしれませんが・・・)
2.MPLAB IDE環境
しばらく前のWindowsXP上のMPLAB IDE環境での記事です。
- PIC32MXでLチカ(ループ版、割り込み版)
PIC32MXでLチカプログラムを作るまでです。結構大変なので、MPLAB IDEのソースコードを残してあります。 - PIC32MXでLチカ(Countレジスタ版)
MIPSアーキテクチャにはフリーランするCountレジスタがあります。これを使ったLチカです。
3.その他
その他、製作した際の記事やゴミのような記事も含めて、「PIC」タグで参照できます。