From 3bd1d31fccfeeec241d5932809cbdfe1a3b44cc9 Mon Sep 17 00:00:00 2001 From: spinpwr <60736047+spinpwr@users.noreply.github.com> Date: Wed, 29 Jun 2022 19:15:15 +0200 Subject: [PATCH] Add command example to flash with esptool.py (#1230) If you are on Linux and don't want to (or can't) install Chrome based browser to flash you can use the Python based flash tool from Espressif. It took me some searching and reading the docs of esptool to get the commands to work, then I thought I can save this time for others by adding the relevant info to this how to. --- docs/upload/binaries.md | 42 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/docs/upload/binaries.md b/docs/upload/binaries.md index 19e33da..57e9429 100644 --- a/docs/upload/binaries.md +++ b/docs/upload/binaries.md @@ -26,6 +26,48 @@ The upload details appears in the rear shell windows, you can see also the progr * Once done the flash tool display "FINISH" like below ![Flash download tool 2](../img/OpenMQTTgateway_ESP32_binary_flash2.png) +### Linux - esptool.py +If you want to upload the ready-to-go binary from Linux (or any other OS where you have Python) you can use the [esptool.py](https://github.com/espressif/esptool). This an official Python based flashing tool from Espressif for ESP82XX and ESP32. +* Install esptool from PyPI via pip: `pip install esptool` (or using the python package manager of your choice) +* Now you should be able to run `esptool.py -h` to see a summary of all available commands, command line options and verify the installation +* Download the bootloader, boot_app0 and the binary for your board from the respective links [above](#esp32) +* Use the below command to upload the binary files to the board (change file names and serial port as needed, for Windows use port number e.g.: `COM4`): + + esptool.py --port /dev/ttyUSB0 --chip esp32 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dout --flash_size detect 0xe000 boot_app0.bin 0x1000 bootloader_dio_80m.bin 0x8000 esp32dev-ble-cont-partitions.bin 0x10000 esp32dev-ble-cont-firmware.bin +* Output for a successful upload should look like this: + + esptool.py v2.8 + Serial port /dev/ttyUSB0 + Connecting..... + Chip is ESP32D0WDQ6 (revision 1) + Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None + Crystal is 40MHz + MAC: 30:ae:a4:ff:48:14 + Uploading stub... + Running stub... + Stub running... + Changing baud rate to 921600 + Changed. + Configuring flash size... + Auto-detected Flash size: 4MB + Compressed 8192 bytes to 47... + Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.0 seconds (effective 15741.5 kbit/s)... + Hash of data verified. + Flash params set to 0x0320 + Compressed 17312 bytes to 11972... + Wrote 17312 bytes (11972 compressed) at 0x00001000 in 0.2 seconds (effective 903.1 kbit/s)... + Hash of data verified. + Compressed 3072 bytes to 129... + Wrote 3072 bytes (129 compressed) at 0x00008000 in 0.0 seconds (effective 5168.4 kbit/s)... + Hash of data verified. + Compressed 1444624 bytes to 838880... + Wrote 1444624 bytes (838880 compressed) at 0x00010000 in 13.1 seconds (effective 881.2 kbit/s)... + Hash of data verified. + + Leaving... + Hard resetting via RTS pin... +* The board resets after the upload and boots the gateway firmware + ## ESP8266 * Download the NodeMCU Py Flasher tool : https://github.com/marcelstoer/nodemcu-pyflasher/releases