name2017m
New member
Здравствуйте!
Мне необходимо прошивать esp8266 через wi-fi своими TCP-пакетами
В документации и примерах для этого используется набор функций:
Т.е. мне приходят пакеты по TCP, которые могут содержать команду начала процесса заливки, передавать сами данные, и команду завершения заливки
На основе этого примера: ESP8266_IOT_PLATFORM/upgrade.c at master · espressif/ESP8266_IOT_PLATFORM · GitHub
сделал свою обработку:
При этом system_upgrade всегда возвращает TRUE
Что я упустил?
Мне необходимо прошивать esp8266 через wi-fi своими TCP-пакетами
В документации и примерах для этого используется набор функций:
- system_upgrade
- system_upgrade_init
- system_upgrade_deinit
- system_upgrade_flag_set
- system_upgrade_flag_check
- и т.д.
Т.е. мне приходят пакеты по TCP, которые могут содержать команду начала процесса заливки, передавать сами данные, и команду завершения заливки
На основе этого примера: ESP8266_IOT_PLATFORM/upgrade.c at master · espressif/ESP8266_IOT_PLATFORM · GitHub
сделал свою обработку:
- сначала вызывается system_upgrade_init
- затем system_upgrade_flag_set с флагом UPGRADE_FLAG_START
- затем system_upgrade с любым буфером и полным размером будущей прошивки, чтобы стереть FLASH
- затем по TCP начинают приходить пакеты с данными, при получении каждого такого пакета вызывается system_upgrade с данными и их размером
- после всех записанных данных приходит TCP пакет с командой завершения, и вызывается system_upgrade_flag_set(UPGRADE_FLAG_FINISH);
- и после него вызывается system_upgrade_deinit();
При этом system_upgrade всегда возвращает TRUE
Что я упустил?
Последнее редактирование: