Budget Flash et RAM

Où vont la flash de 1 Mo et les ~23 Ko de tas, et comment rester sous 60 % flash / 65 % RAM.

Budget Flash

Le flash 1 Mo de l’ESP8285 est dominé par la WebUI : le build client empaqueté fait ~160 Ko compressés (~16% du flash) après tree-shaking. Le runtime float (_scanf_float, _printf_float, _dtoa_r, _strtod_l …) fait ~9,7 Ko — réel mais pas le plus gros levier. La base actuelle est à ~68,6% de flash ; l’objectif de 60% exige une coupe de ~83 Ko, et la WebUI est le seul levier assez grand pour l’atteindre.

Budget RAM

L’ESP8285 expose environ 23 Ko de tas. Les sauvegardes de config ne doivent jamais allouer un gros document JSON sur le tas — le sauveur de config de l’ornithoptère écrit directement dans LittleFS pour éviter d’épuiser le tas et de redémarrer en plein sondage. Gardez DynamicJsonDocument hors du chemin chaud ; préférez les tampons de pile et les écritures directes.

Conseils d'optimisation

Cibles de build

Cible Budget flash Budget RAM
PteronautOS_ESP8285_2400_RX ≤ 60% ≤ 65%

Le manifeste interdit de dépasser 60% de flash / 65% de RAM pour laisser une marge d’expansion. Mesurez après chaque fonctionnalité ; un build vert n’est pas un build vivant tant qu’il n’est pas flashé et que son journal de démarrage n’a pas été lu.