플래시 및 RAM 예산

1MB 플래시와 ~23KB 힙이 어디로 가는지, 그리고 60% 플래시 / 65% RAM 이하로 유지하는 방법.

플래시 예산

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% 초과를 금지합니다. 각 기능 후 측정하세요. 그린 빌드는 플래시되고 부트 로그를 읽기 전까지 살아있는 빌드가 아닙니다.