Flash与RAM预算

1MB Flash和~23KB堆的去向,以及如何将构建保持在60% Flash/65% RAM以下。

Flash预算

1 MB 的 ESP8285 闪存主要由 WebUI 占据:打包后的客户端构建在 tree-shaking 后约 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% 闪存 / 65% RAM,以留出扩展余量。每增加一个功能后都要测量;绿色的构建只有在烧录并读取其启动日志之后,才算真正“活着”的构建。