Since the introduction of PCAddressMatcher, the executable produced
by the build system is passed to elftools.elf.elffile.ELFFile.
However on macOS, native executables are not ELF files, so the
ELFFile class raises a rather unhelpful AssertionError exception.
Given that the rest of the idf_monitor.py doesn't have assumptions
that the "elf_file" argument is an ELF file (rather than just an
executable), check if the file is a real ELF file inside
PCAddressMatcher.
This lets use the reset hotkey (Ctrl+T Ctrl+R).
Tools: fix idf.py monitor reset with hotkey with --no-reset arg
Tools: Set idf.py monitor DTR to the default state when reset is not needed
Add idf.py monitor argument --no-reset (-R) to prevent resetting the CPU on monitor startup
idf.py monitor: fix type signature
idf.py monitor: fix reset key shortcut when --no-reset (-R) argument is used
idf.py monitor: change --no-reset (-R) argument descriptions in help
idf.py monitor: simplify --no-reset (-R) argument checks
idf.py monitor: add warning if --no-reset is used, but --port is not given
idf.py monitor: ignore --no-reset if --port is not given
Fix a regression of b77addea2f: The ANSI
color converter returns a class on Windows instead of an object so its
methods won't be callable and will result in a not so helpful error
message: "idf_monitor failed with exit code 120"