miniesptool_esp32multifile.py
1 import time 2 import board 3 import busio 4 5 from digitalio import DigitalInOut, Direction # pylint: disable=unused-import 6 import adafruit_miniesptool 7 8 print("ESP32 mini prog") 9 10 # With a Metro or Feather M4 11 uart = busio.UART(board.TX, board.RX, baudrate=115200, timeout=1) 12 resetpin = DigitalInOut(board.D5) 13 gpio0pin = DigitalInOut(board.D6) 14 15 # With a Particle Argon, we need to also turn off flow control 16 """ 17 uart = busio.UART(board.ESP_RX, board.ESP_TX, baudrate=115200, timeout=1) 18 resetpin = DigitalInOut(board.ESP_WIFI_EN) 19 gpio0pin = DigitalInOut(board.ESP_BOOT_MODE) 20 esp_cts = DigitalInOut(board.ESP_CTS) 21 esp_cts.direction = Direction.OUTPUT 22 esp_cts.value = False 23 """ 24 25 esptool = adafruit_miniesptool.miniesptool( 26 uart, gpio0pin, resetpin, flashsize=4 * 1024 * 1024 27 ) 28 esptool.debug = False 29 30 esptool.sync() 31 print("Synced") 32 print("Found:", esptool.chip_name) 33 if esptool.chip_name != "ESP32": 34 raise RuntimeError("This example is for ESP32 only") 35 esptool.baudrate = 912600 36 print("MAC ADDR: ", [hex(i) for i in esptool.mac_addr]) 37 38 # 0x10000 ota_data_initial.bin 39 esptool.flash_file( 40 "esp32/ota_data_initial.bin", 0x10000, "84d04c9d6cc8ef35bf825d51a5277699" 41 ) 42 43 # 0x1000 bootloader/bootloader.bin 44 esptool.flash_file( 45 "esp32/bootloader/bootloader.bin", 0x1000, "894e5f067a44773ac1ae987a14e85787" 46 ) 47 # 0x20000 at_customize.bin 48 esptool.flash_file( 49 "esp32/at_customize.bin", 0x20000, "9853055e077ba0c90cd70691b9d8c3d5" 50 ) 51 52 # 0x24000 customized_partitions/server_cert.bin 53 esptool.flash_file( 54 "esp32/customized_partitions/server_cert.bin", 55 0x24000, 56 "766fa1e87aabb9ab78ff4023f6feb4d3", 57 ) 58 59 # 0x26000 customized_partitions/server_key.bin 60 esptool.flash_file( 61 "esp32/customized_partitions/server_key.bin", 62 0x26000, 63 "05da7907776c3d5160f26bf870592459", 64 ) 65 66 # 0x28000 customized_partitions/server_ca.bin 67 esptool.flash_file( 68 "esp32/customized_partitions/server_ca.bin", 69 0x28000, 70 "e0169f36f9cb09c6705343792d353c0a", 71 ) 72 73 # 0x2a000 customized_partitions/client_cert.bin 74 esptool.flash_file( 75 "esp32/customized_partitions/client_cert.bin", 76 0x2A000, 77 "428ed3bae5d58b721b8254cbeb8004ff", 78 ) 79 80 # 0x2c000 customized_partitions/client_key.bin 81 esptool.flash_file( 82 "esp32/customized_partitions/client_key.bin", 83 0x2C000, 84 "136f563811930a5d3bf04c946f430ced", 85 ) 86 87 # 0x2e000 customized_partitions/client_ca.bin 88 esptool.flash_file( 89 "esp32/customized_partitions/client_ca.bin", 90 0x2E000, 91 "25ab638695819daae67bcd8a4bfc5626", 92 ) 93 94 # 0xf000 phy_init_data.bin 95 esptool.flash_file( 96 "esp32/phy_init_data.bin", 0xF000, "bc9854aa3687ca73e25d213d20113b23" 97 ) 98 99 # 0x100000 esp-at.bin 100 esptool.flash_file("esp32/esp-at.bin", 0x100000, "7018a1b4c8a5c108377ecda7632b899c") 101 102 # 0x8000 partitions_at.bin 103 esptool.flash_file( 104 "esp32/partitions_at.bin", 0x8000, "d3d1508993d61aedf17280140fc22a6b" 105 ) 106 107 esptool.reset() 108 time.sleep(0.5)