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