Version 2.6
Features
- New
write_flash --erase-all ...
option to erase all flash before writing (single command). (#344) - Support patching the SHA256 digest of the ELF file into the binary (available in ESP-IDF via app description APIs)
- Make calling esptool module functions and
esptool.main()
more Python-friendly (all functions clean up open files correctly,main(...)
can take an optional argument with a command line formatted as a list.) (#341)
Bug Fixes/Changes
- Fix crash due to unimplemented write timeout on RFC2217 ports
- elf2image no longer adds empty ELF sections (zero length) to the .bin file
- elf2image fails with a proper error if an ELF file contains more than 16 loadable sections
- Improve error message if list_ports is missing from pyserial (#350)
- Fix some write_flash timeouts writing large but highly compressible payloads
ESP8266 Only
- Fix bug where flashing with stub would fail if ESP8266 was in deep sleep immediately beforehand. (#351)
ESP32 Only
Features
- Support for reading/writing efuses when 3/4 Coding Scheme is set details.
- espefuse.py supports displaying and setting a custom MAC address in BLK3 of efuse
- espsecure.py can now verify signatures with raw binary key file as well as PEM formatted key file (#357)
Bug Fixes/Changes
- Workaround a mapping bug in the ESP-IDF bootloader (if IROM/DROM segment ended less than 0x20 bytes after a page boundary, older ESP-IDF bootloaders would not map the final page correctly).
- Reformat espefuse.py summary output (includes: read-only efuses now display value ? not 0, byte order of keys shown for BLK1,BLK2 are now shown in software order not the reversed byte order used by hardware cryptographical modules.)
- espsecure.py: Fix Python 3 compatibility issues (includes #369 #382)
Special thanks to @Callahan93 and @borro0 for contributing to this release.