All Bluefruit nRF52 Feather boards and Bluefruit nRF52 modules ship with the serial bootloader pre-flashed, so this page is normally not required when setting your device and system up.
The information provided here is only intended for for rare cases where you may want or need to reflash the bootloader yourself, and have access to the HW required to do so.
1. Updating the Bootloader with a Segger J-Link and Arduino IDE
To burn the bootloader from within the Arduino IDE using a Segger J-Link, you will need the following tools installed on your system and available in the system path:
JLink Drivers and Tools
Download and install the JLink Software and Documentation Pack from Segger, which will also install a set of command line tools.
Burning the Bootloader from the Arduino IDE
Once the tools above have been installed and added to your system path, from the Arduino IDE:
- Select `Tools > Board > Adafruit Bluefruit Feather52`
- Select `Tools > Programmer > J-Link for Feather52`
- Select `Tools > Burn Bootloader` with the board and J-Link connected
The appropriate Programmer target and Burn Bootloader button can be seen below:
2. Manually Burning the Bootloader via nrfjprog
You can also manually burn the bootloader from the command line, using `nrfjprog` from Nordic.
You can either download nRF5x-Command-Line-Tools for OSX/Linux/Win32, or use the version that ships with the BSP in the tools/nrf5x-command-line-tools folder.
Run the folllwing commands, updating the path to the .hex file as appropriate:
$ nrfjprog --program bootloader_binary.hex --chiperase -f nrf52 --reset
You should see something similar to the following output, followed by a fast blinky on the status LED to indicate that you are in DFU/bootloader mode since no user sketch was found after the device reset:
$ ./nrfjprog -e -f nrf52 Erasing code and UICR flash areas. Applying system reset. $ ./nrfjprog --program ../../../../bin/bootloader/bootloader_v050_s132_v201.hex -f nrf52 Parsing hex file. Reading flash area to program to guarantee it is erased. Checking that the area to write is not protected. Programing device. $ ./nrfjprog --reset -f nrf52 Applying system reset. Run.
OS X Note: You may need to create a symlink in `/usr/local/bin` to the
`nrfjprog` tool wherever you have added it. You can run the following command, for example:
$ ln -s $HOME/prog/nordic/nrfjprog/nrfjprog /usr/local/bin/nrfjprog
3. Manually Burning the Bootloader via AdaLink
Alternatively, you can use AdaLink to flash the bootloader with a Segger J-Link:
# First erase the device's flash contents $ adalink nrf52832 -p jlink -w # Then flash the bootloader and SoftDevice .hex file $ adalink nrf52832 -p jlink -h feather52_bootloader_v050_s132_v201.hex