2017/09/14(木)Arduino optibootのmakeが通らないのを直した(10MHz版を作りたかった)

色々ミスってクリスタル10MHz@3.3VにしてしまったArduino互換機、まずoptibootの10MHz版を作らないといけないのだが、optibootのmakeが通らない。色々調べて漸く…。まずwindowsでやろうとして暗礁に乗り上げてしまって、Webの便りではLinux(MacOS?)の情報が多いことから途中からじゃあ手元のラズパイにArduino IDE入れてやろうということにした。結果、上手く出来たのだがmakefileの不具合が原因だったらしくコレならwindows環境でも出来たかもしれない。ともあれ、手順を残しておくことにする。

まずは、ラズパイにArduinoIDEをインストール
sudo apt-get install arduino
これだけ、これが終わればGUI環境の「プログラミング」に「Arduino IDE」が追加されているはず。起動できればOK、そして次にoptibootは、
cd /usr/share/arduino/hardware/arduino/bootloaders/optiboot
ここにある。ここで
sudo nano Makefile
してatmega328の16000000Lを10000000Lに書き換えただけ、書き換えた場所は2箇所、ほんとにいけるかわかんない、これから試す。
それで書き換えたMakefileを保存したら、
sudo bash omake
でいけるはずがなにやらエラーが出る。ここで躓いていたのだがこれコンパイラ(?)に廃止されたオプションを渡していたかららしい。
Doesn't compile with gcc4.7 or gcc4.8
ここを参考にして
OPTIMIZE = -Os -fno-inline-small-functions -fno-split-wide-types -mshort-calls

OPTIMIZE = -Os -fno-inline-small-functions -fno-split-wide-types -mrelax
に変更する。あとはもう一度
sudo bash omake
すれば出来上がり。