ArduinoIDE環境でライブラリ使用時の未使用関数等の削除について
Spresense を ArduinoIDE で使用しています。
未使用関数等が多いライブラリを使用時のプログラムサイズ削減の方法について質問します。
U8g2 などの未使用のフォントデータ等が多いライブラリを使用する際、プログラムサイズを超過することがありました。そのため、コンパイル・リンカオプションで未使用関数等の削除を行うよう設定したところ、実行時に異常終了してしまいます。ライブラリを使用しないシリアル出力だけのコードでも異常終了するため、オプションでの削除は不可能のようです。
ライブラリから必要なコードだけ抜き出して使用する以外で、なにか解決方法はありませんでしょうか?
◆"platform.txt" 変更内容
compiler.c.flags : -ffunction-sections -fdata-sections を追加
compiler.cpp.flags : -ffunction-sections -fdata-sections を追加
compiler.c.elf.flags : -Wl,--gc-sections を追加
◆サンプルコード
#include <U8g2lib.h> //あってもなくても異常終了する
void setup() {
Serial.begin(115200);
Serial.println("START");
}
void loop() {
}