Flash・RAM予算

1MBフラッシュと~23KBヒープの行き先、そして60%フラッシュ/65%RAM未満を維持する方法。

Flash予算

1 MB の ESP8285 フラッシュは WebUI が支配的です。バンドルされたクライアントビルドはツリーシェイキング後 ~160 KB 圧縮(フラッシュの ~16%)です。浮動小数点ランタイム(_scanf_float, _printf_float, _dtoa_r, _strtod_l …)は ~9.7 KB で、実在しますが最大のレバーではありません。現在のベースラインはフラッシュ ~68.6% で、60% 目標には ~83 KB の削減が必要であり、WebUI だけがそれを実現できる大きさのレバーです。

RAM予算

ESP8285 はおよそ 23 KB のヒープを公開します。設定保存はヒープ上に大きな JSON ドキュメントを割り当ててはいけません。オーニソプターの設定セーバーはヒープ枯渇とポーリング中の再起動を避けるため LittleFS へ直接ストリーミングします。DynamicJsonDocument をホットパスから外し、スタックバッファと直接書き込みを優先してください。

最適化のヒント

ビルドターゲット

対象 フラッシュ予算 RAM 予算
PteronautOS_ESP8285_2400_RX ≤ 60% ≤ 65%

マニフェストは拡張の余裕を残すため フラッシュ 60% / RAM 65% の超過を禁じます。各機能の後に測定してください。グリーンビルドは、フラッシュされブートログが読まれるまで生きているビルドではありません。