Açıklama Yok

Martin Valik b899472a28 Added flash size detection. 5 yıl önce
example e658052789 Added support for ESP8266 and ESP32-S2 5 yıl önce
include b899472a28 Added flash size detection. 5 yıl önce
port 48fa878d0b serial_comm: ignore consecutive SLIP delimiters (0xc0) 5 yıl önce
private_include b899472a28 Added flash size detection. 5 yıl önce
src b899472a28 Added flash size detection. 5 yıl önce
test b899472a28 Added flash size detection. 5 yıl önce
.gitignore 802dac885f Added serial flasher core 6 yıl önce
.gitlab-ci.yml fc1a6b914d Added CI script 6 yıl önce
CMakeLists.txt 994d09655a change_baud_rate and verify_md5 commands added. 6 yıl önce
README.md e658052789 Added support for ESP8266 and ESP32-S2 5 yıl önce

README.md

Serial flasher

Overview

Serial flasher component provides portable library for flashing ESP32, ESP32-S2, ESP8266 from other host microcontroller. Espressif SoCs are normally programmed via serial interface (UART) and port layer for given host microcontroller has to be implemented, if not available. Details can be found in section below.

Supporting new host target

In order to support new target, following function has to be implemented by user:

  • loader_port_serial_read()
  • loader_port_serial_write()
  • loader_port_enter_bootloader()
  • loader_port_delay_ms()
  • loader_port_start_timer()
  • loader_port_remaining_time()

Following functions are part of serial_io.h header for convenience, however, user does not have to strictly follow function signatures, as there are not called directly from library.

  • loader_port_serial_init()
  • loader_port_serial_deinit()
  • loader_port_change_baudrate()
  • loader_port_reset_target()
  • loader_port_debug_print()

Prototypes of all function mentioned above can be found in serial_io.h. Please refer to ports in port directory. Currently, only ESP32 port is available.

Component integration

Apart from writing port (if not available), user has to provide loader_config_user.h header file and add its include path into build system. By defining appropriate macros, default configuration can be overwritten. As for now, slave target to be flashed (one of Espressif SoCs) and flash integrity verification can be configured. In case header file remains empty, esp-serial-flasher is compiled for ESP32 target by default.

Known limitations

At this point, component can only be integrated with IDF. Proper CMakeList.txt file is to be done.

Size of new binary image has to be known before flashing.