DFU-UTIL(1) | General Commands Manual | DFU-UTIL(1) |
dfu-util - Device firmware update (DFU) USB programmer
dfu-util -l [-v] [-d vid:pid[,vid:pid]] [-p path] [-c configuration] [-i interface] [-a alt-intf] [-S serial[,serial]]
dfu-util [-v] [-d vid:pid[,vid:pid]] [-p path] [-c configuration] [-i interface] [-a alt-intf] [-S serial[,serial]] [-t size] [-Z size] [-s address] [-R] [-D|-U file]
dfu-util [-hV]
dfu-util is a program that implements the host (computer) side of the USB DFU (Universal Serial Bus Device Firmware Upgrade) protocol.
dfu-util communicates with devices that implement the device side of the USB DFU protocol, and is often used to upgrade the firmware of such devices.
If you only have one standards-compliant DFU device attached to your computer, this parameter is optional. However, as soon as you have multiple DFU devices connected, dfu-util will detect this and abort, asking you to specify which device to use.
If only run-time IDs are specified (e.g. "--device 1457:51ab"), then in addition to the specified run-time IDs, any DFU mode devices will also be considered. This is beneficial to allow a DFU capable device to be found again after a switch to DFU mode, since the vendor and/or product ID of a device usually changes in DFU mode.
If only DFU mode IDs are specified (e.g. "--device ,951:26"), then all run-time devices will be ignored, making it easy to target a specific device in DFU mode.
If both run-time and DFU mode IDs are specified (e.g. "--device 1457:51ab,:2bc"), then unspecified DFU mode components will use the run-time value specified.
Examples:
If only a single serial number is specified, then the same serial number is used in both run-time and DFU mode. An empty serial number will match any serial number in the corresponding mode.
(with the Neo1973 hardware)
Flashing the rootfs:
$ dfu-util -a rootfs -R -D /path/to/openmoko-devel-image.jffs2
Flashing the kernel:
$ dfu-util -a kernel -R -D /path/to/uImage
Flashing the bootloader:
$ dfu-util -a u-boot -R -D /path/to/u-boot.bin
Copying a kernel into RAM:
$ dfu-util -a 0 -R -D /path/to/uImage
Once this has finished, the kernel will be available at the default load address of 0x32000000 in Neo1973 RAM. Note: You cannot transfer more than 2MB of data into RAM using this method.
Flashing a .dfu (special DfuSe format) file to the device:
$ dfu-util -a 0 -D /path/to/dfuse-image.dfu
Reading out 1 KB of flash starting at address 0x8000000:
$ dfu-util -a 0 -s 0x08000000:1024 -U newfile.bin
Flashing a binary file to address 0x8004000 of device memory and
ask the device to leave DFU mode:
$ dfu-util -a 0 -s 0x08004000:leave -D /path/to/image.bin
Please report any bugs to the dfu-util bug tracker at http://sourceforge.net/p/dfu-util/tickets/. Please use the --verbose option (repeated as necessary) to provide more information in your bug report.
The dfu-util home page is http://sourceforge.net/p/dfu-util/
dfu-util was originally written for the OpenMoko project by Weston Schmidt <weston_schmidt@yahoo.com> and Harald Welte <hwelte@hmw-consulting.de>. Over time, nearly complete support of DFU 1.0, DFU 1.1 and DfuSe ("1.1a") has been added.
dfu-util is covered by the GNU General Public License (GPL), version 2 or later.
This manual page was originally written by Uwe Hermann <uwe@hermann-uwe.de>, and is now part of the dfu-util project.
September 23, 2012 |