再び、MPLAB X IDEをLinuxMint 20にインストールします。今回のターゲット環境は16bitのPIC、つまりPIC24です。途中までは前回の記事とほぼ同じで試してみたのですが、
と同様の画面の後、インストーラが終了してしまいました。
仕方ないので、新しいシェルを開いて、
$ mplab_ide
で、IDEを起動しました。そして、
の画面で、左側のXC COMPILERとCODE CONFIGURATORをクリックしてインストールしていきます。
CODE CONFIGURATORは前回同様、プラグインの選択画面からインストールできました。しかし、今回使いたいXC16はXC8とは違って、インストールのナビゲーションはなさそうです。
ですので、GoogleさんでXC16を検索して、XC Compilerのダウンロードページを探します。
今回は、https://www.microchip.com/en-us/tools-resources/develop/mplab-xc-compilers にたどり着きました。
というところに飛んでいくので、View Downloadsをクリックすると、勝手にスクロールして、
というところに飛んでいくので、Compiler Downloadsをクリックして、
からLinux版のXC16(今回はPIC24を使うので)をクリックしてダウンロードします。
ところで、余談ですが、コンパイラのバージョンが上がっているのはXC32>XC8>XC16の順なので、最近はXC32(=PIC32)に力を入れてるんでしょうかね??PIC32は初期の頃のErrataが酷かったので避けていたのですが、だいぶ落ち着いたのでしょうか。(手持ちのPIC32を一回全部捨てて試してみるというのもありかも?)
ダウンロードしたら、
$ sha256sum xc16-v1.70-full-install-linux64-installer.run 2bf490b7b1f372578b60defe5ed5ad8023b7a04b846480f57f9d99be62b18a1d xc16-v1.70-full-install-linux64-installer.run
としてsha256sumが一致するか確認しておきます。
確認したら、
$ chmod u+x xc16-v1.70-full-install-linux64-installer.run $ sudo ./xc16-v1.70-full-install-linux64-installer.run
としてインストーラを起動します。
インストールが完了すると、
という表示が出ます。HostIDはMACアドレスが勝手に入力されています。で、FREE版を使いたければNextをクリックせよ、ということなので、クリックします。
という表示が出るので、Finishを押して終了します。
MPLAB-X IDEを起動して、New Projectで前回と同様に新規プロジェクトを作成します。
XC16を選択してNextをクリックします。XC16がないとここで何も選択できずに詰んでしまいます(^^;
プロジェクト名を入力してFinishをクリックします。あ、EncodingはUTF-8に変更しておきます。
(上記スクリーンショットでは修正し忘れています)
こんな感じでプロジェクトが作成できました。上の方のMCCのロゴをクリックしてCode Configuratorを起動します。
いまはMCCも何種類かあるようですね。
説明を読むと、
- MCC Melody
MCC Builder(なにこれ?)をサポート、ドライバレベルでうんぬん。 - MCC Classic
インストールしたMCCはこれなので選べるようになっているのでしょう。 - MPLAB Harmony
これは32ビットPIC用のようなので、今回は対象外。
で、比較表が載っていました。
ここだけ見ると、Classicの方がよさそうに見えます。
また、ぐぐってMelodyのリリースノートをみると、そもそもPIC24はサポート外のように見えますので、Classicを選択します。
ということで、バージョン要件を満たしていないようです。Finishをクリックすると、ダウンロードしてくれるようです。ダウンロードが終わると、
とりあえず、クロックだけ設定してみます。
Generateをクリックして、ソース生成してみます。
ビルドしてみます。
Clean and Build for Debugging Main Projectはビルドに成功しました。その後は、Clean and Build Main Projectも通るようになりました。
書き込み・実行はまずMCCで狙った形が実現できるのか確認して、その上でハードウェアを用意してからです。まずはMCCで検討します・・・・が、希望の形態はMCCではサポートされてませんでした。
うーむ、ゴリゴリとレジスタを叩くしかないのかなぁ。