mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-08 05:35:22 +00:00
The blackmagicprobe runner's Python process fails to ignore SIGINT when it runs GDB from the debug and flash callbacks, which is wrong. The other runners tend to use run_server_and_client() to properly handle this, since they start a GDB server and connect to it with a client. The BMP USB device presents itself as a serial device which speaks the GDB serial protocol instead, so there's no server/client, and thus no call to run_server_and_client(). The problem is that blackmagicprobe essentially uses subprocess.check_call() to start GDB directly, without ignoring SIGINT in the python process. Easy fix. Fixes: #21139 Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no> |
||
---|---|---|
.. | ||
completion | ||
runners | ||
tests | ||
boards.py | ||
build_helpers.py | ||
build.py | ||
completion.py | ||
debug.py | ||
flash.py | ||
README.txt | ||
run_common.py | ||
sign.py | ||
zcmake.py | ||
zephyr_ext_common.py |
This directory contains implementations for west commands which are tightly coupled to the zephyr tree. Currently, those are the build, flash, and debug commands. Before adding more here, consider whether you might want to put new extensions in upstream west. For example, any commands which operate on the multi-repo need to be in upstream west, not here. Try to limit what goes in here to just those files that change along with Zephyr itself. When extending this code, please keep the unit tests (in tests/) up to date. You can run the tests with this command from this directory: $ PYTHONPATH=$PWD py.test Windows users will need to find the path to .west/west/src in their Zephyr installation, then run something like this: > cmd /C "set PYTHONPATH=path\to\zephyr\scripts\west_commands && py.test" Note that these tests are run as part of Zephyr's CI when submitting an upstream pull request, and pull requests which break the tests cannot be merged. Thanks!