Created Pyboard Firmware Update (markdown)
parent
f6347f3629
commit
6d5791245b
|
@ -0,0 +1,100 @@
|
||||||
|
## Download
|
||||||
|
|
||||||
|
You can download the latest firmware from http://micropython.org/download/.
|
||||||
|
|
||||||
|
## Preparation
|
||||||
|
|
||||||
|
First, disconnect everything from your pyboard. Then connect the DFU pin with the 3.3V pin (they're right next to each other) to put the board into DFU (*Device Firmware Update*) mode. Now connect the pyboard to your computer via USB.
|
||||||
|
|
||||||
|
## Flashing
|
||||||
|
|
||||||
|
# dfu-util
|
||||||
|
|
||||||
|
First, install dfu-util via your package manager.
|
||||||
|
|
||||||
|
You can list all DFU-capable devices using the `-l` argument:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo dfu-util -l
|
||||||
|
dfu-util 0.5
|
||||||
|
|
||||||
|
(C) 2005-2008 by Weston Schmidt, Harald Welte and OpenMoko Inc.
|
||||||
|
(C) 2010-2011 Tormod Volden (DfuSe support)
|
||||||
|
This program is Free Software and has ABSOLUTELY NO WARRANTY
|
||||||
|
|
||||||
|
dfu-util does currently only support DFU version 1.0
|
||||||
|
|
||||||
|
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=0, name="@Internal Flash /0x08000000/04*016Kg,01*064Kg,07*128Kg"
|
||||||
|
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=1, name="@Option Bytes /0x1FFFC000/01*016 e"
|
||||||
|
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=2, name="@OTP Memory /0x1FFF7800/01*512 e,01*016 e"
|
||||||
|
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=3, name="@Device Feature/0xFFFF0000/01*004 e"
|
||||||
|
```
|
||||||
|
|
||||||
|
First, backup the original firmware:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo dfu-util --alt 0 -U pyboard-original.dfu
|
||||||
|
dfu-util 0.5
|
||||||
|
|
||||||
|
(C) 2005-2008 by Weston Schmidt, Harald Welte and OpenMoko Inc.
|
||||||
|
(C) 2010-2011 Tormod Volden (DfuSe support)
|
||||||
|
This program is Free Software and has ABSOLUTELY NO WARRANTY
|
||||||
|
|
||||||
|
dfu-util does currently only support DFU version 1.0
|
||||||
|
|
||||||
|
Opening DFU USB device... ID 0483:df11
|
||||||
|
Run-time device DFU version 011a
|
||||||
|
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=0, name="@Internal Flash /0x08000000/04*016Kg,01*064Kg,07*128Kg"
|
||||||
|
Claiming USB DFU Interface...
|
||||||
|
Setting Alternate Setting #0 ...
|
||||||
|
Determining device status: state = dfuERROR, status = 10
|
||||||
|
dfuERROR, clearing status
|
||||||
|
Determining device status: state = dfuIDLE, status = 0
|
||||||
|
dfuIDLE, continuing
|
||||||
|
DFU mode device DFU version 011a
|
||||||
|
Device returned transfer size 2048
|
||||||
|
Limiting default upload to 16384 bytes
|
||||||
|
bytes_per_hash=2048
|
||||||
|
Starting upload: [#######] finished!
|
||||||
|
```
|
||||||
|
|
||||||
|
Then write the downloaded firmware to the pyboard:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo dfu-util --alt 0 -D pybv10-2014-05-19-v1.0.1-24-g5cdff5f.dfu
|
||||||
|
dfu-util 0.5
|
||||||
|
|
||||||
|
(C) 2005-2008 by Weston Schmidt, Harald Welte and OpenMoko Inc.
|
||||||
|
(C) 2010-2011 Tormod Volden (DfuSe support)
|
||||||
|
This program is Free Software and has ABSOLUTELY NO WARRANTY
|
||||||
|
|
||||||
|
dfu-util does currently only support DFU version 1.0
|
||||||
|
|
||||||
|
Opening DFU USB device... ID 0483:df11
|
||||||
|
Run-time device DFU version 011a
|
||||||
|
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=0, name="@Internal Flash /0x08000000/04*016Kg,01*064Kg,07*128Kg"
|
||||||
|
Claiming USB DFU Interface...
|
||||||
|
Setting Alternate Setting #0 ...
|
||||||
|
Determining device status: state = dfuUPLOAD-IDLE, status = 0
|
||||||
|
aborting previous incomplete transfer
|
||||||
|
Determining device status: state = dfuIDLE, status = 0
|
||||||
|
dfuIDLE, continuing
|
||||||
|
DFU mode device DFU version 011a
|
||||||
|
Device returned transfer size 2048
|
||||||
|
Dfu suffix version 11a
|
||||||
|
DfuSe interface name: "Internal Flash "
|
||||||
|
file contains 1 DFU images
|
||||||
|
parsing DFU image 1
|
||||||
|
image for alternate setting 0, (2 elements, total size = 245928)
|
||||||
|
parsing element 1, address = 0x08000000, size = 392
|
||||||
|
parsing element 2, address = 0x08020000, size = 245520
|
||||||
|
done parsing DfuSe file
|
||||||
|
```
|
||||||
|
|
||||||
|
# dfu-programmer
|
||||||
|
|
||||||
|
Some other DFU programmer. TODO: Document.
|
||||||
|
|
||||||
|
# On Windows
|
||||||
|
|
||||||
|
TODO: Document
|
Loading…
Reference in New Issue