ArduinoIDEのビルドオプションを変更する方法

投稿者: | ↻ : 2019年1月28日

GUI上にはビルドオプションを設定する画面は存在しないので、プラットフォームごとにビルドオプションが記述されているファイplatform.txtを直接編集します。
過去のバージョンではplatform.local.txtが存在していたのですが、1.6.xの頃に議論され、残骸は残ってますが使用するようになっていません。

設定ファイルの場所は、使用しているOS、対象のArduinoにより異なります。
Arduino IDE 1.8.3で、Arduino Uno R3を対象とした場合は次のようになります。

OSpath
macOS Sierra 10.12.6/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/platform.txt
Windows 10 proC:\Program Files (x86)\Arduino\hardware\arduino\avr/platform.txt

コンパイラオプションは下記の場所になります。(platform.txtから抜粋)


compiler.c.flags=-c -g -Os {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects
compiler.c.elf.flags={compiler.warning_flags} -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections
compiler.cpp.flags=-c -g -Os {compiler.warning_flags} -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno

「GNU Compiler Collection」の「3.10 Options That Control Optimization」から、-Osがサイズ優先の最適化なのが分かります。