Мы разрабатываем систему контроля доступа iot door с ESP8266 на Платфромио IDE.
Вы можете увидеть все наши работы на esp-rfid GitHub репозиторий.
Мы хотим использовать ota-обновления в наших системах, но код покрывает почти половину памяти, иногда больше половины. Если код занимает больше половины памяти, мы не можем использовать ota update. Как мы можем уменьшить размер кода?
Спасибо за ваши ответы.
Вы можете найти код от там.
Результаты сборки:
DATA: [==== ] 43.4% (used 35592 bytes from 81920 bytes)
PROGRAM: [===== ] 48.6% (used 507732 bytes from 1044464 bytes)
Если код занимает больше половины памяти, мы не можем использовать ota update.
Что вы можете. Обновление до очень маленькой программы, которая потребляет очень мало памяти, и единственная задача которой — сделать еще одно обновление до следующей версии вашей действительной программы.
Как мы можем уменьшить размер кода?
Трудно сказать, ничего не зная о вашем коде.
Не глядя на исходный код, я могу сказать вам, что некоторые функции C ++ дешевле, чем потребление памяти, например, другие: пространства имен, классы (особенно общие) дешевы, а обработка исключений, например, очень дорога.
Несколько советов: