If self.elf_exists is false, self.gdb_helper is None, which caused this
code to crash. It looks like this guard was missed in e30329ffe21f.
Previously the code could crash like this:
Traceback (most recent call last):
File "/usr/local/src/esp-idf/tools/idf_monitor.py", line 376, in <module>
main()
File "/usr/local/src/esp-idf/tools/idf_monitor.py", line 367, in main
monitor.main_loop()
File "/usr/local/src/esp-idf/tools/idf_monitor.py", line 163, in main_loop
self._main_loop()
File "/usr/local/src/esp-idf/tools/idf_monitor.py", line 268, in _main_loop
super()._main_loop()
File "/usr/local/src/esp-idf/tools/idf_monitor.py", line 203, in _main_loop
self.serial_handler.handle_commands(data, self.target, self.run_make, self.console_reader,
File "/usr/local/src/esp-idf/tools/idf_monitor_base/serial_handler.py", line 203, in handle_commands
run_make_func('encrypted-flash' if self.encrypted else 'flash')
File "/usr/local/src/esp-idf/tools/idf_monitor.py", line 150, in run_make
run_make(target, self.make, self.console, self.console_parser, self.event_queue, self.cmd_queue,
File "/usr/local/src/esp-idf/tools/idf_monitor.py", line 237, in __exit__
self.serial_reader.gdb_exit = self.gdb_helper.gdb_exit # write gdb_exit flag
AttributeError: 'NoneType' object has no attribute 'gdb_exit'
GPIO_HOLD_MASK array was missing the last item
Add __Static_assert to check array sizes for all gpio_periph.c files to prevent same mistake in the future.
All gpio hal and ll functions input arguments gpio_num_t are changed to uint32_t type.
Validation of gpio num should be guaranteed from the driver layer.
feat: new find_build_apps rules with centralized manifest file
Closes IDFCI-1061, IDF-3553, IDFCI-941, IDFCI-1359, and IDFCI-1361
See merge request espressif/esp-idf!18299
Constraint files can be disabled with environment variable as well which
is useful when one uses the install/export scripts instead of
idf_tools.py directly. This is option is useful for offline build as
well.
Closes https://github.com/espressif/esp-idf/issues/9263
* Added C++ sentinels if missed
* Used #pragma once, removed macro's with leading underscores
* Updated copyright checker to allow "BSD-2-Clause-FreeBSD AND
Apache-2.0" for newlib files
* Fixed minor compilation issues/implicit inclusions
The following two functions in bootloader_support are private now:
* esp_secure_boot_verify_sbv2_signature_block()
* esp_secure_boot_verify_rsa_signature_block()
They have been moved into private header files
inside bootloader_private/
* Removed bootloader_reset_reason.h and
bootloader_common_get_reset_reason() completely.
Alternative in ROM component is available.
* made esp_efuse.h independent of target-specific rom header