/ examples / miniesptool_esp32multifile.py
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)