Description
After flashing an application to adafruit-feather-nrf52840-sense with the default SoftDevice-preserving layout (UF2_SOFTDEV=SD611), the board is no longer reachable via the USB serial port in application mode.
The board can still be detected normally after manually entering the UF2 bootloader mode. The bootloader reports:
Flashing also succeeds and uses the expected application base address:
git bisect identified the first bad commit as:
f8c9df35add38292b7705f7b7e678f17cb381bf5
boards/common/ada-nrf52-bootl: keep SoftDevice by default, add SD doc
Steps to reproduce the issue
- Use an Adafruit Feather nRF52840 Sense.
- Restore/update the SoftDevice using the official Adafruit bootloader instructions.
- Confirm in INFO_UF2.TXT:
- Flash a RIOT application:
make -C examples/hello-world BOARD=adafruit-feather-nrf52840-sense clean all flash term
Expected results
After flashing, the application should start normally. For hello-world, the board should enumerate as a USB CDC serial device, e.g. /dev/ttyACM0, and print the expected RIOT startup output.
Actual results
Flashing succeeds and the bootloader exits, but no USB serial device appears in application mode. make term fails because /dev/ttyACM0 does not exist.
Manually entering bootloader mode still works, so the board and USB connection appear to be functional.
Using UF2_SOFTDEV=DROP avoids the SoftDevice layout and the board can enumerate as USB CDC again. For example, a test application can print output when run through make test.
Versions
Operating system: Linux
Build environment: native gcc: gcc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0
arm-none-eabi-gcc: arm-none-eabi-gcc (15:13.2.rel1-2) 13.2.1 20231009
Declaration of AI-Tools / LLMs usage:
AI-Tools / LLMs that were used are:
- ChatGPT for issue text generation, with user review
Description
After flashing an application to
adafruit-feather-nrf52840-sensewith the default SoftDevice-preserving layout (UF2_SOFTDEV=SD611), the board is no longer reachable via the USB serial port in application mode.The board can still be detected normally after manually entering the UF2 bootloader mode. The bootloader reports:
Flashing also succeeds and uses the expected application base address:
git bisect identified the first bad commit as:
Steps to reproduce the issue
Expected results
After flashing, the application should start normally. For hello-world, the board should enumerate as a USB CDC serial device, e.g. /dev/ttyACM0, and print the expected RIOT startup output.
Actual results
Flashing succeeds and the bootloader exits, but no USB serial device appears in application mode. make term fails because /dev/ttyACM0 does not exist.
Manually entering bootloader mode still works, so the board and USB connection appear to be functional.
Using UF2_SOFTDEV=DROP avoids the SoftDevice layout and the board can enumerate as USB CDC again. For example, a test application can print output when run through make test.
Versions
Operating system: Linux
Build environment: native gcc: gcc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0
arm-none-eabi-gcc: arm-none-eabi-gcc (15:13.2.rel1-2) 13.2.1 20231009
Declaration of AI-Tools / LLMs usage:
AI-Tools / LLMs that were used are: