Presupuesto de Flash y RAM

A dónde van la flash de 1MB y los ~23KB de heap, y cómo mantener la compilación bajo 60% flash / 65% RAM.

Presupuesto de Flash

El flash de 1 MB del ESP8285 está dominado por la WebUI: el build de cliente empaquetado ocupa ~160 KB comprimidos (~16% del flash) tras el tree-shaking. El runtime de float (_scanf_float, _printf_float, _dtoa_r, _strtod_l …) es ~9,7 KB — real pero no la mayor palanca. La base actual ronda el 68,6% de flash; la meta del 60% exige un recorte de ~83 KB, y la WebUI es la única palanca lo bastante grande para lograrlo.

Presupuesto de RAM

El ESP8285 expone aproximadamente 23 KB de heap. Los guardados de configuración nunca deben asignar un documento JSON grande en el heap — el guardador de config del ornitóptero escribe directamente a LittleFS para no agotar el heap y reiniciar a mitad del sondeo. Mantén DynamicJsonDocument fuera de la vía caliente; prefiere buffers de pila y escrituras directas.

Consejos de optimización

Objetivos de compilación

Objetivo Presupuesto de flash Presupuesto de RAM
PteronautOS_ESP8285_2400_RX ≤ 60% ≤ 65%

El manifiesto prohíbe superar 60% de flash / 65% de RAM para dejar margen de expansión. Mide tras cada función; un build verde no es un build vivo hasta que se flashea y se lee su log de arranque.