How to use the esptool.ESP32ROM function in esptool

To help you get started, we’ve selected a few esptool examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github espressif / esptool / test / test_esptool.py View on Github external
def valid_key_present(self):
        esp = esptool.ESP32ROM(serialport)
        esp.connect()
        efuses = espefuse.EspEfuses(esp)
        blk1_rd_en = efuses["BLK1"].is_readable()
        return not blk1_rd_en
github aws / amazon-freertos / vendors / espressif / esp-idf / components / esptool_py / esptool / espefuse.py View on Github external
' (e.g. AB:CD:EF:01:02:03).', type=mac_int)
    add_force_write_always(p)

    p = subparsers.add_parser('get_custom_mac',
                              help='Prints the Custom MAC Address.')

    args = parser.parse_args()
    print('espefuse.py v%s' % esptool.__version__)
    if args.operation is None:
        parser.print_help()
        parser.exit(1)

    # each 'operation' is a module-level function of the same name
    operation_func = globals()[args.operation]

    esp = esptool.ESP32ROM(args.port, baud=args.baud)
    esp.connect(args.before)

    # dict mapping register name to its efuse object
    efuses = EspEfuses(esp)
    operation_func(esp, efuses, args)
github hanhdt / esp32-flash-tool / static / esptool / espefuse.py View on Github external
' (e.g. AB:CD:EF:01:02:03).', type=mac_int)
    add_force_write_always(p)

    p = subparsers.add_parser('get_custom_mac',
                              help='Prints the Custom MAC Address.')

    args = parser.parse_args()
    print('espefuse.py v%s' % esptool.__version__)
    if args.operation is None:
        parser.print_help()
        parser.exit(1)

    # each 'operation' is a module-level function of the same name
    operation_func = globals()[args.operation]

    esp = esptool.ESP32ROM(args.port, baud=args.baud)
    esp.connect(args.before)

    # dict mapping register name to its efuse object
    efuses = EspEfuses(esp)
    operation_func(esp, efuses, args)
github espressif / esptool / esptool.py View on Github external
class ESP32StubLoader(ESP32ROM):
    """ Access class for ESP32 stub loader, runs on top of ROM.
    """
    FLASH_WRITE_SIZE = 0x4000  # matches MAX_WRITE_BLOCK in stub_loader.c
    STATUS_BYTES_LENGTH = 2  # same as ESP8266, different to ESP32 ROM
    IS_STUB = True

    def __init__(self, rom_loader):
        self._port = rom_loader._port
        self._trace_enabled = rom_loader._trace_enabled
        self.flush_input()  # resets _slip_reader


ESP32ROM.STUB_CLASS = ESP32StubLoader


class ESPBOOTLOADER(object):
    """ These are constants related to software ESP bootloader, working with 'v2' image files """

    # First byte of the "v2" application image
    IMAGE_V2_MAGIC = 0xea

    # First 'segment' value in a "v2" application image, appears to be a constant version value?
    IMAGE_V2_SEGMENT = 4


def LoadFirmwareImage(chip, filename):
    """ Load a firmware image. Can be for ESP8266 or ESP32. ESP8266 images will be examined to determine if they are
        original ROM firmware images (ESP8266ROMFirmwareImage) or "v2" OTA bootloader images.
github marcelstoer / nodemcu-pyflasher / esptool.py View on Github external
def is_flash_addr(self, addr):
        return (ESP32ROM.IROM_MAP_START <= addr < ESP32ROM.IROM_MAP_END) \
            or (ESP32ROM.DROM_MAP_START <= addr < ESP32ROM.DROM_MAP_END)
github marcelstoer / nodemcu-pyflasher / esptool.py View on Github external
'2m': '256KB',
                '4m': '512KB',
                '8m': '1MB',
                '16m': '2MB',
                '32m': '4MB',
                '16m-c1': '2MB-c1',
                '32m-c1': '4MB-c1',
            }[values[0]]
            print("WARNING: Flash size arguments in megabits like '%s' are deprecated." % (values[0]))
            print("Please use the equivalent size '%s'." % (value))
            print("Megabit arguments may be removed in a future release.")
        except KeyError:
            value = values[0]

        known_sizes = dict(ESP8266ROM.FLASH_SIZES)
        known_sizes.update(ESP32ROM.FLASH_SIZES)
        if self._auto_detect:
            known_sizes['detect'] = 'detect'
        if value not in known_sizes:
            raise argparse.ArgumentError(self, '%s is not a known flash size. Known sizes: %s' % (value, ", ".join(known_sizes.keys())))
        setattr(namespace, self.dest, value)
github espressif / esptool / esptool.py View on Github external
def is_flash_addr(self, addr):
        return (ESP32ROM.IROM_MAP_START <= addr < ESP32ROM.IROM_MAP_END) \
            or (ESP32ROM.DROM_MAP_START <= addr < ESP32ROM.DROM_MAP_END)
github pycom / pycom-micropython-sigfox / esp32 / tools / fw_updater / updater.py View on Github external
if (self.__pypic):
                self.enter_pycom_programming_mode()
            self.esp = ESP32ROM(self.esp_port, DEFAULT_BAUD_RATE)
            if not self.__pypic:
                self.esp.connect()
            else:
                self.esp.connect(mode='no_reset')

            self.esp = self.esp.run_stub()
            if connect_read and pypic:
                self.__current_baudrate = self.get_baudrate(True)
                self.esp.change_baud(self.__current_baudrate, self.__resultUpdateList)
            elif self.__current_baudrate != 115200:
                self.esp.change_baud(self.__baudrate, self.__resultUpdateList)
        else:
            esp = ESP32ROM(self.esp_port, self.__baudrate)
            self.esp = esp.STUB_CLASS(esp)  # enable the stub functions
github espressif / esptool / esptool.py View on Github external
def flash_spi_attach(self, hspi_arg):
        """Send SPI attach command to enable the SPI flash pins

        ESP8266 ROM does this when you send flash_begin, ESP32 ROM
        has it as a SPI command.
        """
        # last 3 bytes in ESP_SPI_ATTACH argument are reserved values
        arg = struct.pack('