zephyr/scripts/west_commands
George White f54e1eddbe runners: bossac: Arduino bootloader reset on macOS
Fixes compatibility with the Arduino bootloader reset mechanism when
using `west flash` on Darwin hosts.

stty is used to set the serial port in the bossac runner to 1200 baud on
Arduino ATSAMD21 bootloaders. The `-F` argument to stty is a GNU
coreutils addition, and thus it is missing from Darwin's BSD stty, so
change the flag to `-f` when we're not running on Linux.

On Darwin, set DEFAULT_BOSSAC_PORT to None and ask the user to select
one from a list of IOCalloutDevices reported by ioreg, modelled on the
get_board_snr from the nrfjprog runner. This is because serial port TTYs
are generated by the device driver, and therefore there is no safe
default.

Tested with an Arduino Nano 33 IoT board.

Signed-off-by: George White <me@galexite.uk>
2021-05-13 22:05:17 -04:00
..
completion boards/shields: re-work handling in cmake and west 2021-01-15 15:07:49 -05:00
runners runners: bossac: Arduino bootloader reset on macOS 2021-05-13 22:05:17 -04:00
tests runners: tests: don't patch BuildConfiguration 2021-05-03 09:55:33 -05:00
zspdx west: spdx: Generate SPDX 2.2 tag-value documents 2021-05-05 11:14:06 -04:00
boards.py boards/shields: re-work handling in cmake and west 2021-01-15 15:07:49 -05:00
build_helpers.py west build: fix --pristine on early build system failure 2020-10-14 07:22:32 -05:00
build.py west build: fix board detection 2021-02-02 14:08:57 -05:00
completion.py boards/shields: re-work handling in cmake and west 2021-01-15 15:07:49 -05:00
debug.py
export.py cmake: Zephyr CMake package clean-up and minor fix 2020-08-19 12:52:33 -04:00
flash.py
mypy.ini scripts: runners: add type checking for west_commands 2020-09-03 16:49:09 -05:00
README.txt scripts: runners: add type checking for west_commands 2020-09-03 16:49:09 -05:00
run_common.py runners: remove dependencies from runners 2021-04-19 15:35:30 +02:00
run_tests.py scripts: runners: add type checking for west_commands 2020-09-03 16:49:09 -05:00
sign.py west: sign.py: fix logic bug 2021-05-06 19:49:52 -05:00
spdx.py west: spdx: Generate SPDX 2.2 tag-value documents 2021-05-05 11:14:06 -04:00
zcmake.py scripts: zcmake: fix for prerelease cmake versions 2021-02-09 09:14:37 -05:00
zephyr_ext_common.py scripts: west_commands: Remove no longer needed load_dot_config(path) 2021-04-08 16:38:28 +02:00

This directory contains implementations for west commands which are
tightly coupled to the zephyr tree. This includes 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 Zephyr-specific features.

When extending this code, please keep the unit tests (in tests/) up to
date. The mypy static type checker is also run on the runners package.

To run these tests locally on Windows, run:

   py -3 run_tests.py

On macOS and Linux:

   ./run_tests.py

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!