Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

boards/feather-nrf52840-sense: Add bootloader info #20034

Merged
merged 1 commit into from
Nov 1, 2023

Conversation

MrKevinWeiss
Copy link
Contributor

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:

update-bootloader-less-than-0.4.sh
# !/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'

Issues/PRs references

@github-actions github-actions bot added Area: doc Area: Documentation Area: boards Area: Board ports labels Nov 1, 2023
@benpicco benpicco added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR CI: skip compile test If set, CI server will run only non-compile jobs, but no compile jobs or their dependent jobs labels Nov 1, 2023
@riot-ci
Copy link

riot-ci commented Nov 1, 2023

Murdock results

✔️ PASSED

acd33c6 boards/feather-nrf52840-sense: Add bootloader info

Success Failures Total Runtime
1 0 1 51s

Artifacts

Copy link
Contributor

@MichelRottleuthner MichelRottleuthner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works as described and looks good. Linking to the official guide would not hurt in case there are future changes.

boards/feather-nrf52840-sense/doc.txt Show resolved Hide resolved
@MrKevinWeiss
Copy link
Contributor Author

Squashed the updates after running through a fresh computer...

@MichelRottleuthner
Copy link
Contributor

bors merge

Copy link
Contributor

bors bot commented Nov 1, 2023

Build succeeded!

The publicly hosted instance of bors-ng is deprecated and will go away soon.

If you want to self-host your own instance, instructions are here.
For more help, visit the forum.

If you want to switch to GitHub's built-in merge queue, visit their help page.

@bors bors bot merged commit 8dbbd0f into RIOT-OS:master Nov 1, 2023
23 checks passed
@MrKevinWeiss MrKevinWeiss deleted the pr/board/fns/doc branch November 2, 2023 07:52
@MrKevinWeiss MrKevinWeiss added this to the Release 2024.01 milestone Feb 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: boards Area: Board ports Area: doc Area: Documentation CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR CI: skip compile test If set, CI server will run only non-compile jobs, but no compile jobs or their dependent jobs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants