esptool 4.9.dev1__tar.gz → 4.9.dev2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {esptool-4.9.dev1/esptool.egg-info → esptool-4.9.dev2}/PKG-INFO +1 -1
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esp_rfc2217_server/__init__.py +23 -8
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse_defs/esp32s3.yaml +1 -1
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/__init__.py +1 -1
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/bin_image.py +12 -18
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/cmds.py +2 -2
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/esp32c5.py +2 -2
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/esp32c6.py +6 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/esp32h2.py +1 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2/esptool.egg-info}/PKG-INFO +1 -1
- {esptool-4.9.dev1 → esptool-4.9.dev2}/LICENSE +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/MANIFEST.in +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/README.md +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esp_rfc2217_server/__main__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esp_rfc2217_server/esp_port_manager.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esp_rfc2217_server/redirector.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esp_rfc2217_server.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/__main__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/base_fields.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/base_operations.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/csv_table_parser.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/emulate_efuse_controller_base.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32/emulate_efuse_controller.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32/fields.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32/mem_definition.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32/operations.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c2/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c2/emulate_efuse_controller.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c2/fields.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c2/mem_definition.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c2/operations.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c3/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c3/emulate_efuse_controller.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c3/fields.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c3/mem_definition.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c3/operations.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c5/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c5/emulate_efuse_controller.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c5/fields.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c5/mem_definition.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c5/operations.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c5beta3/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c5beta3/emulate_efuse_controller.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c5beta3/fields.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c5beta3/mem_definition.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c5beta3/operations.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c6/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c6/emulate_efuse_controller.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c6/fields.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c6/mem_definition.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c6/operations.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c61/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c61/emulate_efuse_controller.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c61/fields.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c61/mem_definition.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c61/operations.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32h2/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32h2/emulate_efuse_controller.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32h2/fields.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32h2/mem_definition.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32h2/operations.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32h2beta1/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32h2beta1/emulate_efuse_controller.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32h2beta1/fields.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32h2beta1/mem_definition.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32h2beta1/operations.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32p4/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32p4/emulate_efuse_controller.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32p4/fields.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32p4/mem_definition.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32p4/operations.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32s2/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32s2/emulate_efuse_controller.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32s2/fields.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32s2/mem_definition.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32s2/operations.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32s3/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32s3/emulate_efuse_controller.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32s3/fields.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32s3/mem_definition.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32s3/operations.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32s3beta2/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32s3beta2/emulate_efuse_controller.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32s3beta2/fields.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32s3beta2/mem_definition.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32s3beta2/operations.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/mem_definition_base.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/util.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse_defs/esp32.yaml +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse_defs/esp32c2.yaml +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse_defs/esp32c3.yaml +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse_defs/esp32c5.yaml +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse_defs/esp32c5beta3.yaml +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse_defs/esp32c6.yaml +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse_defs/esp32c61.yaml +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse_defs/esp32h2.yaml +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse_defs/esp32p4.yaml +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse_defs/esp32s2.yaml +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espsecure/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espsecure/__main__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espsecure/esp_hsm_sign/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espsecure/esp_hsm_sign/exceptions.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/espsecure.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/__main__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/config.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/loader.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/reset.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/__init__.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/esp32.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/esp32c2.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/esp32c3.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/esp32c5beta3.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/esp32c61.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/esp32c6beta.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/esp32h2beta1.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/esp32h2beta2.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/esp32p4.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/esp32s2.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/esp32s3.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/esp32s3beta2.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/esp8266.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/README.md +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/esp32.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/esp32c2.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/esp32c3.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/esp32c5.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/esp32c5beta3.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/esp32c6.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/esp32c61.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/esp32c6beta.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/esp32h2.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/esp32h2beta1.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/esp32h2beta2.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/esp32p4.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/esp32s2.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/esp32s3.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/esp32s3beta2.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/1/esp8266.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/2/LICENSE-APACHE +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/2/LICENSE-MIT +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/2/README.md +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/2/esp32.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/2/esp32c2.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/2/esp32c3.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/2/esp32c6.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/2/esp32h2.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/2/esp32s2.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/targets/stub_flasher/2/esp32s3.json +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/uf2_writer.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool/util.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool.egg-info/SOURCES.txt +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool.egg-info/dependency_links.txt +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool.egg-info/requires.txt +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool.egg-info/top_level.txt +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/esptool.py +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/pyproject.toml +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/setup.cfg +0 -0
- {esptool-4.9.dev1 → esptool-4.9.dev2}/setup.py +0 -0
|
@@ -64,8 +64,7 @@ def main():
|
|
|
64
64
|
level = (logging.WARNING, logging.INFO, logging.DEBUG, logging.NOTSET)[
|
|
65
65
|
args.verbosity
|
|
66
66
|
]
|
|
67
|
-
logging.basicConfig(level=logging.INFO)
|
|
68
|
-
# logging.getLogger('root').setLevel(logging.INFO)
|
|
67
|
+
logging.basicConfig(format="%(levelname)s: %(message)s", level=logging.INFO)
|
|
69
68
|
logging.getLogger("rfc2217").setLevel(level)
|
|
70
69
|
|
|
71
70
|
# connect to serial port
|
|
@@ -75,26 +74,42 @@ def main():
|
|
|
75
74
|
ser.dtr = False
|
|
76
75
|
ser.rts = False
|
|
77
76
|
|
|
78
|
-
logging.info("
|
|
77
|
+
logging.info("RFC 2217 TCP/IP to Serial redirector - type Ctrl-C / BREAK to quit")
|
|
79
78
|
|
|
80
79
|
try:
|
|
81
80
|
ser.open()
|
|
82
81
|
except serial.SerialException as e:
|
|
83
|
-
logging.error("
|
|
82
|
+
logging.error(f"Could not open serial port {ser.name}: {e}")
|
|
84
83
|
sys.exit(1)
|
|
85
84
|
|
|
86
|
-
logging.info("
|
|
85
|
+
logging.info(f"Serving serial port: {ser.name}")
|
|
87
86
|
settings = ser.get_settings()
|
|
88
87
|
|
|
89
88
|
srv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
90
89
|
srv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
|
91
90
|
srv.bind(("", args.localport))
|
|
92
91
|
srv.listen(1)
|
|
93
|
-
logging.info("
|
|
92
|
+
logging.info(f"TCP/IP port: {args.localport}")
|
|
93
|
+
|
|
94
|
+
host_ip = socket.gethostbyname(socket.gethostname())
|
|
95
|
+
wait_msg = f"Waiting for connection ... use the 'rfc2217://{host_ip}:{args.localport}?ign_set_control' as a PORT"
|
|
96
|
+
logging.info(wait_msg)
|
|
97
|
+
|
|
94
98
|
while True:
|
|
99
|
+
srv.settimeout(5)
|
|
100
|
+
client_socket = None
|
|
101
|
+
try:
|
|
102
|
+
while client_socket is None:
|
|
103
|
+
try:
|
|
104
|
+
client_socket, addr = srv.accept()
|
|
105
|
+
except TimeoutError:
|
|
106
|
+
print(".", end="", flush=True)
|
|
107
|
+
except KeyboardInterrupt:
|
|
108
|
+
print("") # resetting inline print
|
|
109
|
+
logging.info("Exited with keyboard interrupt")
|
|
110
|
+
break
|
|
95
111
|
try:
|
|
96
|
-
|
|
97
|
-
logging.info("Connected by {}:{}".format(addr[0], addr[1]))
|
|
112
|
+
logging.info(f"Connected by {addr[0]}:{addr[1]}")
|
|
98
113
|
client_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
|
|
99
114
|
ser.rts = True
|
|
100
115
|
ser.dtr = True
|
|
@@ -47,7 +47,7 @@ EFUSES:
|
|
|
47
47
|
SECURE_BOOT_AGGRESSIVE_REVOKE : {show: y, blk : 0, word: 3, pos: 21, len : 1, start: 117, type : bool, wr_dis : 16, rd_dis: null, alt : '', dict : '', desc: Set this bit to enable revoking aggressive secure boot, rloc: 'EFUSE_RD_REPEAT_DATA2_REG[21]', bloc: 'B14[5]'}
|
|
48
48
|
DIS_USB_JTAG : {show: y, blk : 0, word: 3, pos: 22, len : 1, start: 118, type : bool, wr_dis : 2, rd_dis: null, alt : '', dict : '', desc: Set this bit to disable function of usb switch to jtag in module of usb device, rloc: 'EFUSE_RD_REPEAT_DATA2_REG[22]', bloc: 'B14[6]'}
|
|
49
49
|
DIS_USB_SERIAL_JTAG : {show: y, blk : 0, word: 3, pos: 23, len : 1, start: 119, type : bool, wr_dis : 2, rd_dis: null, alt : DIS_USB_DEVICE, dict : '', desc: Set this bit to disable usb device, rloc: 'EFUSE_RD_REPEAT_DATA2_REG[23]', bloc: 'B14[7]'}
|
|
50
|
-
STRAP_JTAG_SEL : {show: y, blk : 0, word: 3, pos: 24, len : 1, start: 120, type : bool, wr_dis : 2, rd_dis: null, alt : '', dict : '', desc: Set this bit to enable selection between usb_to_jtag and pad_to_jtag through strapping
|
|
50
|
+
STRAP_JTAG_SEL : {show: y, blk : 0, word: 3, pos: 24, len : 1, start: 120, type : bool, wr_dis : 2, rd_dis: null, alt : '', dict : '', desc: Set this bit to enable selection between usb_to_jtag and pad_to_jtag through strapping gpio3 when both reg_dis_usb_jtag and reg_dis_pad_jtag are equal to 0, rloc: 'EFUSE_RD_REPEAT_DATA2_REG[24]', bloc: 'B15[0]'}
|
|
51
51
|
USB_PHY_SEL : {show: y, blk : 0, word: 3, pos: 25, len : 1, start: 121, type : bool, wr_dis : 2, rd_dis: null, alt : '', dict: '{0: "internal PHY is assigned to USB Device while external PHY is assigned to USB OTG", 1: "internal PHY is assigned to USB OTG while external PHY is assigned to USB Device"}', desc: This bit is used to switch internal PHY and external PHY for USB OTG and USB Device, rloc: 'EFUSE_RD_REPEAT_DATA2_REG[25]', bloc: 'B15[1]'}
|
|
52
52
|
POWER_GLITCH_DSENSE : {show: n, blk : 0, word: 3, pos: 26, len : 2, start: 122, type : 'uint:2', wr_dis : 17, rd_dis: null, alt : '', dict : '', desc: Sample delay configuration of power glitch, rloc: 'EFUSE_RD_REPEAT_DATA2_REG[27:26]', bloc: 'B15[3:2]'}
|
|
53
53
|
FLASH_TPUW : {show: y, blk : 0, word: 3, pos: 28, len : 4, start: 124, type : 'uint:4', wr_dis : 18, rd_dis: null, alt : '', dict : '', desc: Configures flash waiting time after power-up; in unit of ms. If the value is less than 15; the waiting time is the configurable value. Otherwise; the waiting time is twice the configurable value, rloc: 'EFUSE_RD_REPEAT_DATA2_REG[31:28]', bloc: 'B15[7:4]'}
|
|
@@ -115,11 +115,10 @@ class ImageSegment(object):
|
|
|
115
115
|
"""Wrapper class for a segment in an ESP image
|
|
116
116
|
(very similar to a section in an ELFImage also)"""
|
|
117
117
|
|
|
118
|
-
def __init__(self, addr, data, file_offs=None
|
|
118
|
+
def __init__(self, addr, data, file_offs=None):
|
|
119
119
|
self.addr = addr
|
|
120
120
|
self.data = data
|
|
121
121
|
self.file_offs = file_offs
|
|
122
|
-
self.flags = flags
|
|
123
122
|
self.include_in_checksum = True
|
|
124
123
|
if self.addr != 0:
|
|
125
124
|
self.pad_to_alignment(
|
|
@@ -168,8 +167,8 @@ class ELFSection(ImageSegment):
|
|
|
168
167
|
"""Wrapper class for a section in an ELF image, has a section
|
|
169
168
|
name as well as the common properties of an ImageSegment."""
|
|
170
169
|
|
|
171
|
-
def __init__(self, name, addr, data
|
|
172
|
-
super(ELFSection, self).__init__(addr, data
|
|
170
|
+
def __init__(self, name, addr, data):
|
|
171
|
+
super(ELFSection, self).__init__(addr, data)
|
|
173
172
|
self.name = name.decode("utf-8")
|
|
174
173
|
|
|
175
174
|
def __repr__(self):
|
|
@@ -179,9 +178,6 @@ class ELFSection(ImageSegment):
|
|
|
179
178
|
class BaseFirmwareImage(object):
|
|
180
179
|
SEG_HEADER_LEN = 8
|
|
181
180
|
SHA256_DIGEST_LEN = 32
|
|
182
|
-
ELF_FLAG_WRITE = 0x1
|
|
183
|
-
ELF_FLAG_READ = 0x2
|
|
184
|
-
ELF_FLAG_EXEC = 0x4
|
|
185
181
|
|
|
186
182
|
""" Base class with common firmware image functions """
|
|
187
183
|
|
|
@@ -377,8 +373,6 @@ class BaseFirmwareImage(object):
|
|
|
377
373
|
elem.get_memory_type(self) == next_elem.get_memory_type(self),
|
|
378
374
|
elem.include_in_checksum == next_elem.include_in_checksum,
|
|
379
375
|
next_elem.addr == elem.addr + len(elem.data),
|
|
380
|
-
next_elem.flags & self.ELF_FLAG_EXEC
|
|
381
|
-
== elem.flags & self.ELF_FLAG_EXEC,
|
|
382
376
|
)
|
|
383
377
|
):
|
|
384
378
|
# Merge any segment that ends where the next one starts,
|
|
@@ -1285,7 +1279,7 @@ class ELFFile(object):
|
|
|
1285
1279
|
name_offs, sec_type, _flags, lma, sec_offs, size = struct.unpack_from(
|
|
1286
1280
|
"<LLLLLL", section_header[offs:]
|
|
1287
1281
|
)
|
|
1288
|
-
return (name_offs, sec_type, lma, size, sec_offs
|
|
1282
|
+
return (name_offs, sec_type, lma, size, sec_offs)
|
|
1289
1283
|
|
|
1290
1284
|
all_sections = [read_section_header(offs) for offs in section_header_offsets]
|
|
1291
1285
|
prog_sections = [s for s in all_sections if s[1] in ELFFile.PROG_SEC_TYPES]
|
|
@@ -1294,7 +1288,7 @@ class ELFFile(object):
|
|
|
1294
1288
|
# search for the string table section
|
|
1295
1289
|
if (shstrndx * self.LEN_SEC_HEADER) not in section_header_offsets:
|
|
1296
1290
|
raise FatalError("ELF file has no STRTAB section at shstrndx %d" % shstrndx)
|
|
1297
|
-
_, sec_type, _, sec_size, sec_offs
|
|
1291
|
+
_, sec_type, _, sec_size, sec_offs = read_section_header(
|
|
1298
1292
|
shstrndx * self.LEN_SEC_HEADER
|
|
1299
1293
|
)
|
|
1300
1294
|
if sec_type != ELFFile.SEC_TYPE_STRTAB:
|
|
@@ -1316,14 +1310,14 @@ class ELFFile(object):
|
|
|
1316
1310
|
return f.read(size)
|
|
1317
1311
|
|
|
1318
1312
|
prog_sections = [
|
|
1319
|
-
ELFSection(lookup_string(n_offs), lma, read_data(offs, size)
|
|
1320
|
-
for (n_offs, _type, lma, size, offs
|
|
1313
|
+
ELFSection(lookup_string(n_offs), lma, read_data(offs, size))
|
|
1314
|
+
for (n_offs, _type, lma, size, offs) in prog_sections
|
|
1321
1315
|
if lma != 0 and size > 0
|
|
1322
1316
|
]
|
|
1323
1317
|
self.sections = prog_sections
|
|
1324
1318
|
self.nobits_sections = [
|
|
1325
|
-
ELFSection(lookup_string(n_offs), lma, b""
|
|
1326
|
-
for (n_offs, _type, lma, size, offs
|
|
1319
|
+
ELFSection(lookup_string(n_offs), lma, b"")
|
|
1320
|
+
for (n_offs, _type, lma, size, offs) in nobits_secitons
|
|
1327
1321
|
if lma != 0 and size > 0
|
|
1328
1322
|
]
|
|
1329
1323
|
|
|
@@ -1356,7 +1350,7 @@ class ELFFile(object):
|
|
|
1356
1350
|
_flags,
|
|
1357
1351
|
_align,
|
|
1358
1352
|
) = struct.unpack_from("<LLLLLLLL", segment_header[offs:])
|
|
1359
|
-
return (seg_type, lma, size, seg_offs
|
|
1353
|
+
return (seg_type, lma, size, seg_offs)
|
|
1360
1354
|
|
|
1361
1355
|
all_segments = [read_segment_header(offs) for offs in segment_header_offsets]
|
|
1362
1356
|
prog_segments = [s for s in all_segments if s[0] == ELFFile.SEG_TYPE_LOAD]
|
|
@@ -1366,8 +1360,8 @@ class ELFFile(object):
|
|
|
1366
1360
|
return f.read(size)
|
|
1367
1361
|
|
|
1368
1362
|
prog_segments = [
|
|
1369
|
-
ELFSection(b"PHDR", lma, read_data(offs, size)
|
|
1370
|
-
for (_type, lma, size, offs
|
|
1363
|
+
ELFSection(b"PHDR", lma, read_data(offs, size))
|
|
1364
|
+
for (_type, lma, size, offs) in prog_segments
|
|
1371
1365
|
if lma != 0 and size > 0
|
|
1372
1366
|
]
|
|
1373
1367
|
self.segments = prog_segments
|
|
@@ -724,7 +724,7 @@ def write_flash(esp, args):
|
|
|
724
724
|
print("Flash md5: %s" % res)
|
|
725
725
|
print(
|
|
726
726
|
"MD5 of 0xFF is %s"
|
|
727
|
-
% (hashlib.md5(b"\
|
|
727
|
+
% (hashlib.md5(b"\xFF" * uncsize).hexdigest())
|
|
728
728
|
)
|
|
729
729
|
raise FatalError("MD5 of file does not match data in flash!")
|
|
730
730
|
else:
|
|
@@ -1457,7 +1457,7 @@ def merge_bin(args):
|
|
|
1457
1457
|
|
|
1458
1458
|
def pad_to(flash_offs):
|
|
1459
1459
|
# account for output file offset if there is any
|
|
1460
|
-
of.write(b"\
|
|
1460
|
+
of.write(b"\xFF" * (flash_offs - args.target_offset - of.tell()))
|
|
1461
1461
|
|
|
1462
1462
|
for addr, argfile in input_files:
|
|
1463
1463
|
pad_to(addr)
|
|
@@ -54,8 +54,8 @@ class ESP32C5ROM(ESP32C6ROM):
|
|
|
54
54
|
|
|
55
55
|
UARTDEV_BUF_NO = 0x4085F51C # Variable in ROM .bss which indicates the port in use
|
|
56
56
|
|
|
57
|
-
# Magic
|
|
58
|
-
CHIP_DETECT_MAGIC_VALUE = [0x1101406F]
|
|
57
|
+
# Magic values for ESP32C5 ECO0 and ECO1, respectively
|
|
58
|
+
CHIP_DETECT_MAGIC_VALUE = [0x1101406F, 0x63E1406F]
|
|
59
59
|
|
|
60
60
|
FLASH_FREQUENCY = {
|
|
61
61
|
"80m": 0xF,
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import struct
|
|
7
7
|
|
|
8
8
|
from .esp32c3 import ESP32C3ROM
|
|
9
|
+
from ..loader import ESPLoader
|
|
9
10
|
from ..util import FatalError, NotImplementedInROMError
|
|
10
11
|
|
|
11
12
|
|
|
@@ -194,6 +195,11 @@ class ESP32C6ROM(ESP32C3ROM):
|
|
|
194
195
|
"consider using other pins for SPI flash connection."
|
|
195
196
|
)
|
|
196
197
|
|
|
198
|
+
def hard_reset(self):
|
|
199
|
+
# Bug in the USB-Serial/JTAG controller can cause the port to disappear
|
|
200
|
+
# if the chip is reset with RTC WDT, do a classic reset
|
|
201
|
+
ESPLoader.hard_reset(self)
|
|
202
|
+
|
|
197
203
|
|
|
198
204
|
class ESP32C6StubLoader(ESP32C6ROM):
|
|
199
205
|
"""Access class for ESP32C6 stub loader, runs on top of ROM.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32c5beta3/emulate_efuse_controller.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32h2beta1/emulate_efuse_controller.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{esptool-4.9.dev1 → esptool-4.9.dev2}/espefuse/efuse/esp32s3beta2/emulate_efuse_controller.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|