SNSへはこちら

MPLAB X IDEでAVRのgccを追加する

先の記事では、「AVR のツールチェインは XC8 を使うよ」と言ったのですが、これでは最適化が効きません。ということで、いろいろ試行錯誤して分かった方法として、AVR の gcc をツールチェインに追加できるということが有りましたので、本記事にてまとめます。

実験

各種方法でツールチェインの追加、そして(できるものは)ビルドをしてみました。

XC8 の中にある avr-gcc を直接指定

XC8 を実行するのではなく、その中の avr-gcc をツールチェインとして登録すればいいのではと考えました。
実際にやってみると登録は出来ます。ビルドも出来ますが、なんと最適化しようとすると怒られるんです。GNU のツールをこんなにしてしまうなんてひどすぎる…

自前ビルド & AVR CrossPack

ならば完全に自前でビルドしたやつを使えばいいじゃないかということで、gcc-8.2.0 をビルドして入れてみました。しかしながら IDE には V1.00 と認識され、使うことは出来ず。。。
AVR CrossPack も無理でした。意味がわからない。

追記:
どうやら AVR libc を入れていると認識される こともある ようです。なので AVR libc を入れることでツールチェインが認識される可能性があります

対応ツールチェインのダウンロード

以下の MPLAB のサイトからバイナリをダウンロードして読み込ませてみました。最新版の gcc は 5.4.2 です。

やってみると確かに成功。そして最適化も効きます!!

自前ビルドによるアップデートは?

ダウンロードしたツールチェインのディレクトリに、自前でビルドした gcc-8.2.0 を上書きでインストールしてみました。が、IDE にはうまく認識されず。また、どうやら実行バイナリでバージョンを見ているというわけでもないらしく、どこで判別しているのでしょうか。謎です。

まとめ

gcc-5.4.2 をリンクからダウンロードして使いましょう。非常に残念ですが、最新版の gcc を自前ビルドしたものは無理っぽいです。