Flash & RAM Budget

Where the 1MB flash and ~23KB heap go, and how to keep the build under the 60% flash / 65% RAM limits.

Flash budget

O flash de 1 MB do ESP8285 é dominado pela WebUI: o build de cliente empacotado tem ~160 KB comprimidos (~16% do flash) após tree-shaking. O runtime de float (_scanf_float, _printf_float, _dtoa_r, _strtod_l …) tem ~9,7 KB — real, mas não é a maior alavanca. A linha de base atual está em ~68,6% de flash; a meta de 60% exige um corte de ~83 KB, e a WebUI é a única alavanca grande o bastante para alcançá-la.

RAM budget

O ESP8285 expõe cerca de 23 KB de heap. O salvamento de configuração nunca deve alocar um grande documento JSON no heap — o gravador de config do ornitóptero grava direto no LittleFS para evitar esgotar o heap e reiniciar no meio do poll. Mantenha DynamicJsonDocument fora do caminho quente; prefira buffers de pilha e gravações diretas.

Optimization tips

Build targets

Alvo Orçamento de flash Orçamento de RAM
PteronautOS_ESP8285_2400_RX ≤ 60% ≤ 65%

O manifesto proíbe exceder 60% de flash / 65% de RAM para deixar margem de expansão. Meça após cada recurso; um build verde não é um build vivo até ser gravado e seu log de boot ser lido.