mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-31 09:21:19 +01:00
Merge #20034
20034: boards/feather-nrf52840-sense: Add bootloader info r=MichelRottleuthner a=MrKevinWeiss
### Contribution description
Add some info on how to deal with really old bootloaders on the `boards/feather-nrf52840-sense`.
### Testing procedure
Read it and maybe try the example.
Here is the script I used:
<details><summary>update-bootloader-less-than-0.4.sh</summary>
```bash
# !/bin/bash
command -v arm-none-eabi-gcc >/dev/null 2>&1 || echo "gcc-arm-none-eabi must be installed!"
FOLDER="/tmp/Adafruit_nRF52_Bootloader"
if [ ! -d "$FOLDER" ] ; then
git clone https://github.com/adafruit/Adafruit_nRF52_Bootloader.git $FOLDER
fi
cd $FOLDER
git submodule update --init
make BOARD=feather_nrf52840_sense SERIAL=/dev/ttyACM0 flash-dfu
```
stdout:
```
$ ./boards/feather-nrf52840-sense/update-bootloader.sh
Submodule 'lib/nrfx' (https://github.com/NordicSemiconductor/nrfx.git) registered for path 'lib/nrfx'
Submodule 'lib/tinyusb' (https://github.com/hathach/tinyusb.git) registered for path 'lib/tinyusb'
Submodule 'lib/uf2' (https://github.com/microsoft/uf2.git) registered for path 'lib/uf2'
Cloning into '/tmp/Adafruit_nRF52_Bootloader/lib/nrfx'...
Cloning into '/tmp/Adafruit_nRF52_Bootloader/lib/tinyusb'...
Cloning into '/tmp/Adafruit_nRF52_Bootloader/lib/uf2'...
Submodule path 'lib/nrfx': checked out '7a4c9d946cf1801771fc180acdbf7b878f270093'
Submodule path 'lib/tinyusb': checked out '9775e76910d569ec73b8dd946f3fa5fe5414acdb'
Submodule path 'lib/uf2': checked out 'adbb8c7260f938e810eb37f2287f8e1a055ff402'
--2023-11-01 10:46:24-- https://github.com/adafruit/Adafruit_nRF52_Bootloader/releases/download/0.8.0/feather_nrf52840_sense_bootloader-0.8.0_s140_6.1.1.hex
Resolving github.com (github.com)... 140.82.121.4
Connecting to github.com (github.com)|140.82.121.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/118896384/52889a99-9ffe-4e97-96d8-1fa79797db83?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20231101%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20231101T094625Z&X-Amz-Expires=300&X-Amz-Signature=e0f4f85d75d802691a9cce217c1f8d2ef0d2336665c221f44168c12c0331210f&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=118896384&response-content-disposition=attachment%3B%20filename%3Dfeather_nrf52840_sense_bootloader-0.8.0_s140_6.1.1.hex&response-content-type=application%2Foctet-stream [following]
--2023-11-01 10:46:24-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/118896384/52889a99-9ffe-4e97-96d8-1fa79797db83?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20231101%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20231101T094625Z&X-Amz-Expires=300&X-Amz-Signature=e0f4f85d75d802691a9cce217c1f8d2ef0d2336665c221f44168c12c0331210f&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=118896384&response-content-disposition=attachment%3B%20filename%3Dfeather_nrf52840_sense_bootloader-0.8.0_s140_6.1.1.hex&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.109.133, 185.199.110.133, 185.199.111.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.109.133|:443... connected.
HTTP request sent, awaiting response... 304 Not Modified
File ‘/tmp/feather_nrf52840_sense.hex/feather_nrf52840_sense_bootloader-0.8.0_s140_6.1.1.hex’ not modified on server. Omitting download.
make: Entering directory '/tmp/Adafruit_nRF52_Bootloader'
CC dfu_ble_svc.c
CC dfu_init.c
CC flash_nrf5x.c
CC main.c
CC boards.c
CC nrfx_power.c
CC nrfx_nvmc.c
CC system_nrf52840.c
CC bootloader.c
CC bootloader_settings.c
CC bootloader_util.c
CC dfu_transport_serial.c
CC dfu_transport_ble.c
CC dfu_single_bank.c
CC ble_dfu.c
CC ble_dis.c
CC pstorage_raw.c
CC app_timer.c
CC app_scheduler.c
CC app_error.c
CC app_util_platform.c
CC crc16.c
CC hci_mem_pool.c
CC hci_slip.c
CC hci_transport.c
CC nrf_assert.c
CC pinconfig.c
CC msc_uf2.c
CC usb_desc.c
CC usb.c
CC ghostfat.c
CC dcd_nrf5x.c
CC tusb_fifo.c
CC usbd.c
CC usbd_control.c
CC cdc_device.c
CC msc_device.c
CC tusb.c
AS gcc_startup_nrf52840.S
LD feather_nrf52840_sense_bootloader-0.8.0.out
Memory region Used Size Region Size %age Used
FLASH: 32776 B 38 KB 84.23%
BOOTLOADER_CONFIG: 88 B 2 KB 4.30%
MBR_PARAMS_PAGE: 0 GB 4 KB 0.00%
BOOTLOADER_SETTINGS: 4 KB 4 KB 100.00%
RAM: 20192 B 224 KB 8.80%
DBL_RESET: 0 GB 4 B 0.00%
NOINIT: 62 B 128 B 48.44%
UICR_BOOTLOADER: 4 B 4 B 100.00%
UICR_MBR_PARAM_PAGE: 4 B 4 B 100.00%
text data bss dec hex filename
32864 1744 22614 57222 df86 _build/build-feather_nrf52840_sense/feather_nrf52840_sense_bootloader-0.8.0.out
Create feather_nrf52840_sense_bootloader-0.8.0.hex
Zip created at _build/build-feather_nrf52840_sense/feather_nrf52840_sense_bootloader-0.8.0_s140_6.1.1.zip
adafruit-nrfutil --verbose dfu serial --package _build/build-feather_nrf52840_sense/feather_nrf52840_sense_bootloader-0.8.0_s140_6.1.1.zip -p /dev/ttyACM0 -b 115200 --singlebank --touch 1200
Upgrading target on /dev/ttyACM0 with DFU package /tmp/Adafruit_nRF52_Bootloader/_build/build-feather_nrf52840_sense/feather_nrf52840_sense_bootloader-0.8.0_s140_6.1.1.zip. Flow control is disabled, Single bank, Touch 1200
Touched serial port /dev/ttyACM0
Opened serial port /dev/ttyACM0
Starting DFU upgrade of type 3, SoftDevice size: 151016, bootloader size: 39000, application size: 0
Sending DFU start packet
Sending DFU init packet
Sending firmware file
########################################
########################################
########################################
########################################
########################################
########################################
########################################
########################################
########################################
############
Activating new firmware
DFU upgrade took 20.308438777923584s
Device programmed.
make: Leaving directory '/tmp/Adafruit_nRF52_Bootloader'
```
</details>
### Issues/PRs references
Co-authored-by: MrKevinWeiss <weiss.kevin604@gmail.com>
This commit is contained in:
commit
8dbbd0fe18
@ -23,4 +23,25 @@ Low Energy and IEEE 802.15.4 support via the nRF52840 MCU.
|
||||
Refer to [The Feather nRF52840 Express
|
||||
documentation](https://doc.riot-os.org/group__boards__feather-nrf52840.html) for further details.
|
||||
Both use the same flasher, bootloader, and terminal settings.
|
||||
|
||||
On "fresh" boards the
|
||||
[bootloader may need to be updated](https://learn.adafruit.com/adafruit-feather-sense/update-bootloader)
|
||||
|
||||
#### Updating Old Bootloaders
|
||||
|
||||
In some cases the bootloader may be too old to even mount on startup.
|
||||
Double tap the reset button to get into bootloader mode and check the
|
||||
`INFO_UF2.TXT` for bootloader information.
|
||||
If the version is less than `0.4.0` then one can use the
|
||||
[Adafruit_nRF52_Bootloader](https://github.com/adafruit/Adafruit_nRF52_Bootloader)
|
||||
tool to update.
|
||||
|
||||
For example, one can run the following if `arm-none-eabi-gcc` and
|
||||
`adafruit-nrfutil` are installed:
|
||||
```
|
||||
git clone https://github.com/adafruit/Adafruit_nRF52_Bootloader.git
|
||||
cd Adafruit_nRF52_Bootloader
|
||||
git submodule update --init
|
||||
make BOARD=feather_nrf52840_sense SERIAL=/dev/ttyACM0 flash-dfu
|
||||
```
|
||||
*/
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user