Added notes on flashing bootloader
This commit is contained in:
parent
4745272d6c
commit
fc28fc4f0b
@ -21,7 +21,7 @@ $ cd ports/nrf
|
||||
$ ./drivers/bluetooth/download_ble_stack.sh
|
||||
```
|
||||
|
||||
## Serial Bootloader
|
||||
## Installing the Serial Bootloader
|
||||
|
||||
The Adafruit nRF52840 Feather uses a serial bootloader that allows you to
|
||||
update the core CircuitPython firmware and internal file system contents
|
||||
@ -31,14 +31,70 @@ On empty devices, the serial bootloader will need to be flashed once using a
|
||||
HW debugger such as a Segger J-Link before the serial updater (`nrfutil`) can
|
||||
be used.
|
||||
|
||||
### Install the Bootloader with `nrfjprog`
|
||||
### Install `nrfjprog`
|
||||
|
||||
Before you can install the bootloader, you will first need to install the
|
||||
`nrfjprog` tool from Nordic Semiconductors for your operating system. The
|
||||
binary files can be downloaded via the following links:
|
||||
|
||||
- [nRF5x toolset tar for Linux 32-bit v9.7.2](http://www.nordicsemi.com/eng/nordic/Products/nRF52832/nRF5x-Command-Line-Tools-Linux32/52619)
|
||||
- [nRF5x toolset tar for Linux 64-bit v9.7.2](http://www.nordicsemi.com/eng/nordic/Products/nRF52832/nRF5x-Command-Line-Tools-Linux64/51388)
|
||||
- [nRF5x toolset tar for OSX v9.7.2](http://www.nordicsemi.com/eng/nordic/Products/nRF52832/nRF5x-Command-Line-Tools-OSX/53406)
|
||||
- [nRF5x toolset installer for Windows v9.7.2](http://www.nordicsemi.com/eng/nordic/Products/nRF52832/nRF5x-Command-Line-Tools-Win32/48768)
|
||||
|
||||
You will then need to add the `nrfjprog` folder to your system `PATH` variable
|
||||
so that it is available from the command line. The exact process for this is
|
||||
OS specific, but on a POSIX type system like OS X or Linux, you can
|
||||
temporarily add the location to your `PATH` environment variables as follows:
|
||||
|
||||
```
|
||||
$ export PATH=$PATH:YOURPATHHERE/nRF5x-Command-Line-Tools_9_7_2_OSX/nrfjprog/
|
||||
```
|
||||
|
||||
You can test this by running the following command:
|
||||
|
||||
```
|
||||
$ nrfjprog --version
|
||||
nrfjprog version: 9.7.2
|
||||
JLinkARM.dll version: 6.20f
|
||||
```
|
||||
|
||||
### Flash the Bootloader with `nrfjprog`
|
||||
|
||||
> This operation only needs to be done once, and only on boards that don't
|
||||
already have the serial bootloader installed.
|
||||
|
||||
Once `nrfjprog` is installed and available in `PATH` you can flash your
|
||||
board with the serial bootloader via the following command:
|
||||
|
||||
```
|
||||
make SD=s140 BOARD=feather52840 boot-flash
|
||||
```
|
||||
|
||||
This should give you the following (or very similar) output, and you will see
|
||||
a DFU blinky pattern on one of the board LEDs:
|
||||
|
||||
```
|
||||
$ make SD=s140 BOARD=feather52840 boot-flash
|
||||
Use make V=1, make V=2 or set BUILD_VERBOSE similarly in your environment to increase build verbosity.
|
||||
nrfjprog --program boards/feather52840/bootloader/feather52840_bootloader_6.0.0_s140_single.hex -f nrf52 --chiperase --reset
|
||||
Parsing hex file.
|
||||
Erasing user available code and UICR flash areas.
|
||||
Applying system reset.
|
||||
Checking that the area to write is not protected.
|
||||
Programing device.
|
||||
Applying system reset.
|
||||
Run.
|
||||
```
|
||||
|
||||
From this point onward, you can now use a simple serial port for firmware
|
||||
updates.
|
||||
|
||||
## Building and Flashing CircuitPython
|
||||
|
||||
With the serial bootloader present on your board, you can build and flash
|
||||
a CircuitPython binary via the following command:
|
||||
|
||||
```
|
||||
make SD=s140 SERIAL=/dev/ttyACM0 BOARD=feather52840 dfu-gen dfu-flash
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user