mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'feature/esptoolpy_performance' into 'master'
esptool.py performance Restores esptool.py custom baud rate, and re-adds compressed upload into the Makefile default targets See merge request !11
This commit is contained in:
commit
49b2dfea1e
@ -196,6 +196,10 @@ class ESPROM(object):
|
||||
else: # otherwise, just return the 'val' field which comes from the reply header (this is used by read_reg)
|
||||
return val
|
||||
|
||||
def flush_input(self):
|
||||
self._port.flushInput()
|
||||
self._slip_reader = slip_reader(self._port)
|
||||
|
||||
def sync(self):
|
||||
""" Perform a connection test """
|
||||
self.command(ESPROM.ESP_SYNC, '\x07\x07\x12\x20' + 32 * '\x55')
|
||||
@ -223,8 +227,7 @@ class ESPROM(object):
|
||||
last_exception = None
|
||||
for _ in xrange(4):
|
||||
try:
|
||||
self._port.flushInput()
|
||||
self._slip_reader = slip_reader(self._port)
|
||||
self.flush_input()
|
||||
self._port.flushOutput()
|
||||
self.sync()
|
||||
self._port.timeout = 5
|
||||
@ -377,6 +380,9 @@ class ESP8266ROM(ESPROM):
|
||||
'4MB-c1':0x60,
|
||||
'4MB-c2':0x70}
|
||||
|
||||
def change_baud(self, baud):
|
||||
pass # no change baud command on ESP8266 ROM
|
||||
|
||||
def chip_id(self):
|
||||
""" Read Chip ID from OTP ROM - see http://esp8266-re.foogod.com/wiki/System_get_chip_id_%28IoT_RTOS_SDK_0.9.9%29 """
|
||||
id0 = self.read_reg(self.ESP_OTP_MAC0)
|
||||
@ -523,13 +529,13 @@ class ESP32ROM(ESP31ROM):
|
||||
# the MD5 command is special (
|
||||
return self.check_command('calculate md5sum', self.ESP_SPI_FLASH_MD5, struct.pack('<IIII', addr, size, 0, 0))
|
||||
|
||||
def changebaud(self, baud):
|
||||
def change_baud(self, baud):
|
||||
print "Changing baud rate to %d" % baud
|
||||
self.command(self.ESP_CHANGE_BAUDRATE, struct.pack('<II', baud, 0))
|
||||
print "Changed."
|
||||
time.sleep(0.05) # get rid of crap sent during baud rate change
|
||||
self._port.flushInput()
|
||||
self._port.baudrate = baud
|
||||
time.sleep(0.05) # get rid of crap sent during baud rate change
|
||||
self.flush_input()
|
||||
|
||||
def flash_spi_attach_req(self,ucIsHspi,ucIsLegacy):
|
||||
"""Send SPI attach command
|
||||
@ -1672,6 +1678,10 @@ def main():
|
||||
'esp32': ESP32ROM,
|
||||
}[args.chip]
|
||||
esp = chip_constructor_fun(args.port, initial_baud)
|
||||
# try to set a higher baud, this is a no-op if we need to
|
||||
# wait for the flasher stub to kick in before doing this.
|
||||
esp.change_baud(args.baud)
|
||||
|
||||
operation_func(esp, args)
|
||||
else:
|
||||
operation_func(args)
|
||||
|
@ -33,7 +33,7 @@ clean: bootloader-clean
|
||||
|
||||
bootloader: $(BOOTLOADER_BIN)
|
||||
@echo "Bootloader built. Default flash command is:"
|
||||
@echo "$(ESPTOOLPY_SERIAL) write_flash 0x1000 $(BOOTLOADER_BIN)"
|
||||
@echo "$(ESPTOOLPY_WRITE_FLASH) 0x1000 $(BOOTLOADER_BIN)"
|
||||
|
||||
all_binaries: $(BOOTLOADER_BIN)
|
||||
|
||||
|
@ -12,7 +12,8 @@ PYTHON ?= $(call dequote,$(CONFIG_PYTHON))
|
||||
ESPTOOLPY := $(PYTHON) $(IDF_PATH)/bin/esptool.py --chip esp32
|
||||
ESPTOOLPY_SERIAL := $(ESPTOOLPY) --port $(ESPPORT) --baud $(ESPBAUD)
|
||||
|
||||
APP_FLASH_COMMAND=$(ESPTOOLPY_SERIAL) write_flash $(CONFIG_APP_OFFSET) $(APP_BIN)
|
||||
ESPTOOLPY_WRITE_FLASH=$(ESPTOOLPY_SERIAL) write_flash $(if $(CONFIG_ESPTOOLPY_COMPRESSED),-z)
|
||||
|
||||
ESPTOOL_ALL_FLASH_ARGS += $(CONFIG_APP_OFFSET) $(APP_BIN)
|
||||
|
||||
$(APP_BIN): $(APP_ELF)
|
||||
@ -20,7 +21,7 @@ $(APP_BIN): $(APP_ELF)
|
||||
|
||||
flash: all_binaries
|
||||
@echo "Flashing project app to $(CONFIG_APP_OFFSET)..."
|
||||
$(Q) $(ESPTOOLPY_SERIAL) write_flash $(ESPTOOL_ALL_FLASH_ARGS)
|
||||
$(Q) $(ESPTOOLPY_WRITE_FLASH) $(ESPTOOL_ALL_FLASH_ARGS)
|
||||
|
||||
app-flash: $(APP_BIN)
|
||||
$(Q) $(APP_FLASH_COMMAND)
|
||||
$(Q) $(ESPTOOLPY_WRITE_FLASH) $(CONFIG_APP_OFFSET) $(APP_BIN)
|
||||
|
@ -13,7 +13,7 @@
|
||||
.PHONY: build-components menuconfig all build clean all_binaries
|
||||
all: all_binaries # other components will add dependencies to 'all_binaries'
|
||||
@echo "To flash all build output, run 'make flash' or:"
|
||||
@echo $(ESPTOOLPY_SERIAL) write_flash $(ESPTOOL_ALL_FLASH_ARGS)
|
||||
@echo $(ESPTOOLPY_WRITE_FLASH) $(ESPTOOL_ALL_FLASH_ARGS)
|
||||
|
||||
# (the reason all_binaries is used instead of 'all' is so that the flash target
|
||||
# can build everything without triggering the per-component "to flash..."
|
||||
@ -174,7 +174,7 @@ $(APP_ELF): $(addsuffix -build,$(notdir $(COMPONENT_PATHS_BUILDABLE)))
|
||||
# component's Makefile.projbuild
|
||||
app: $(APP_BIN)
|
||||
@echo "App built. Default flash app command is:"
|
||||
@echo $(APP_FLASH_COMMAND) # APP_FLASH_COMMAND is set in esptool_py's Makefile.projbuild
|
||||
@echo $(ESPTOOLPY_WRITE_FLASH) $(CONFIG_APP_OFFSET) $(APP_BIN)
|
||||
|
||||
all_binaries: $(APP_BIN)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user