aboutsummaryrefslogtreecommitdiff
path: root/circuitpython/lib/nrfutil/README.md
blob: bd49ae9cbf203099b7d7ed60884d8ea9305f259e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# nrfutil

`nrfutil` is a Python package that includes the nrfutil command line utility
and the nordicsemi library.

This tool can be used used with the [Adafruit nRF52 Feather](https://www.adafruit.com/product/3406)
to flash firmware images onto the device using the simple serial port.

This library is written for Python 2.7.

# Installation

Run the following commands to make `nrfutil` available from the command line
or to development platforms like the Arduino IDE or CircuitPython:

**Notes** : Do **NOT** install nrfutil from the pip package (ex. `sudo pip
install nrfutil`). The latest nrfutil does not support DFU via Serial, and you
should install version 0.5.2 from a local copy of this repo via the methods
detailed below:

### OS X and Linux

```
$ sudo pip install -r requirements.txt
$ sudo python setup.py install
```

### Windows

#### Option 1: Pre-Built Binary

A pre-built 32-bit version of nrfutil is included as part of this repo in the
`binaries/win32` folder. You can use this pre-built binary by adding it to your
systems `$PATH` variable.

#### Option 2: Build nrfutil from Source

- Make sure that you have **Python 2.7** available on your system.
- Manually install **py2exe version 0.6.9** from this link (selecting
    the 32-bit or 64-bit version depending on your Python installation):
    [Download py2exe 0.6.9](https://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/).
- VC compiler for Python (Windows only) (http://www.microsoft.com/en-us/download/confirmation.aspx?id=44266)
- From the command prompt, install nrfutil via pip as follows:

```
pip install -r requirements.txt
python setup.py install
```

To generate a self-contained Windows exe version of the utility (Windows only):

```
python setup.py py2exe
```

# Usage

To get info on usage of nrfutil:

```
nrfutil --help
```

To convert an nRF52 .hex file into a DFU pkg file that the serial bootloader
can make use of:

```
nrfutil dfu genpkg --dev-type 0x0052 --application firmware.hex dfu-package.zip
```

To flash a DFU pkg file over serial:

```
nrfutil dfu serial --package dfu-package.zip -p /dev/tty.SLAB_USBtoUART -b 115200
```