趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。
RSS icon
  • PIC

    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環境での記事です。

     3.その他

    その他、製作した際の記事やゴミのような記事も含めて、「PIC」タグで参照できます。