From 1f47c49e980ad16590c37e4b199a4bb309f3cd03 Mon Sep 17 00:00:00 2001 From: Jerzy Kasenberg Date: Mon, 2 Sep 2024 11:01:12 +0200 Subject: [PATCH] hw/bsp: pca10059 add readme.md This adds readme.md files that explains how to use board without hardware debugger when factory programmed Open DFU Bootloader is present. Signed-off-by: Jerzy Kasenberg --- hw/bsp/nordic_pca10059/readme.md | 93 ++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 hw/bsp/nordic_pca10059/readme.md diff --git a/hw/bsp/nordic_pca10059/readme.md b/hw/bsp/nordic_pca10059/readme.md new file mode 100644 index 0000000000..a8ebe6ca3e --- /dev/null +++ b/hw/bsp/nordic_pca10059/readme.md @@ -0,0 +1,93 @@ + + +# PCA10059: NRF52840 USB dongle + +## Flashing application without debugger + +Board comes from factory with Nordic DFU Bootloader that does not recognize images created by **newt** tool. + +Board with Nordic bootloader can be programmed using Nordic's [**nrfutil**](https://www.nordicsemi.com/Products/Development-tools/nRF-Util). + +Here are steps to flash mynewt application: + +1. Flash map of the application must be changed to match what Nordic bootloader expects. +Here is example target file with flash map suitable for Nordic bootloader. +target file: *targets/nordic_pca10059-blehci_nrf52dfu* +```yml +target.app: "@apache-mynewt-nimble/apps/blehci" +target.bsp: "@apache-mynewt-core/hw/bsp/nordic_pca10059" +target.build_profile: debug + +bsp.flash_map: + areas: + # NRF52 MBR area. + FLASH_AREA_MBR: + user_id: 20 + device: 0 + offset: 0x00000000 + size: 4kB + # NRF52 bootloader ara. + FLASH_AREA_NRF52_BOOTLOADER: + user_id: 21 + device: 0 + offset: 0x000E0000 + size: 128kB + # mynewt image + FLASH_AREA_IMAGE_0: + device: 0 + offset: 0x00001000 + size: 396kB + + # User areas. + FLASH_AREA_REBOOT_LOG: + user_id: 0 + device: 0 + offset: 0x000C8000 + size: 16kB + FLASH_AREA_NFFS: + user_id: 1 + device: 0 + offset: 0x000CC000 + size: 16kB +``` +**FLASH_AREA_MBR** and **FLASH_AREA_NRF52_BOOTLOADER** are here to denote flash area not available to mynewt. + +**FLASH_AREA_IMAGE_0** must start from **0x1000** + +2. Build application with newt tool: +```shell + newt build nordic_pca10059-blehci_nrf52dfu +``` +3. Create hex file needed by nrfutil: +```shell + cd bin/targets/nordic_pca10059-blehci_nrf52dfu/app/@apache-mynewt-nimble/apps/blehci/ + arm-none-eabi-objcopy -O ihex blehci.elf blehci.hex +``` +4. Create package zip file for nrfutil: +```shell + nrfutil pkg generate --hw-version 52 --sd-req 0 --application blehci.hex --application-version 1 blehci_nrf52dfu_package.zip +``` +5. Enter bootloader mode by clicking reset button while user button is held. When Nordic Open DFU Bootloader is activated board red LED starts to blink and serial port is visible in the host system (**COM***x* for Windows or **/dev/ttyACM***x* for Linux). +6. Flash application package with nrfutil: +```shell + nrfutil dfu usb-serial -p /dev/ttyACM0 --package blehci_nrf52dfu_package.zip +```