|
NAMEdfu-programmer - USB firmware upgrading for Atmel microcontrollersSYNOPSISdfu-programmer target[:usb-bus,usb-addr] command [options] [parameters]dfu-programmer --help dfu-programmer --targets dfu-programmer --version DESCRIPTIONdfu-programmer is a multi-platform command line Device Firmware Upgrade (DFU) based programmer for the flash memory on Atmel AVR, AVR32, XMEGA and 8051 based microcontrollers which ship with a USB boot loader. It supports In System Programming (ISP) for developers and potentially product updates in the field. Those boot loaders are patterned after the standard USB DFU 1.0 class specification, but depend on extensions defined by Atmel to the extent that standard DFU drivers will not work.To use it, first connect the device to be programmed and ensure that it comes up in DFU mode. The microcontrollers come up in that mode as shipped by Atmel; or they may reenter that mode after a special hardware reset. Then invoke this program to issue one or more DFU commands. You will normally need to start by issuing the "erase" command; the default security policies prevent extracting firmware, to prevent reverse engineering of what is usually proprietary code. SUPPORTED MICROCONTROLLERSThese chip names are used as the command line "target" parameter.
USAGEThere are no mechanisms to implement gang programming. By default, the first device that matches the id codes for the given target is selected. Many targets share the same id codes. Accordingly, you will usually avoid connecting more than one device of a given family (AVR, XMEGA, AVR32 or 8051) at a time.The target may be qualified with the USB bus and address number of the device you wish to program. This allows programming multiple devices of the same family at the same time. All of these commands support the "global options". Unless you override it, commands which write to the microcontroller will perform a validation step that rereads the data which was written, compares it to the expected result, and reports any errors. Note that unlike Atmel's BatchISP program, dfu-programmer will only perform a single operation at a time. Erasing and programming require separate commands. configure register [--suppress-validation] data
dump [--force] [--bin] [(flash)|--user|--eeprom]
erase [--force]
flash [--force] [(flash)|--user|--eeprom]
[--suppress-validation] [--suppress-bootloader-mem]
[--serial=hexbytes:offset] file or STDIN
--serial provides a way to inject a serial number or other unique sequence of bytes into the memory image programmed into the device. This allows using a single .ihex file to program multiple devices, and still give each device its own unique serial number. For example, --serial=ABCDEF01:0x6000 would program the byte at 0x6000 with the hex value AB, the byte at 0x6001 with the value CD, and so on. There must be an even number of hex digits, but the sequence can be any length. The offset is assumed to be given in hex if it starts with a "0x" prefix, octal if it begins with a "0", otherwise is it assumed to be decimal. setsecure
get register
launch [--no-reset]
Global Options--quiet - minimizes the output--debug level - enables verbose output at the specified level Configure RegistersThe standard bootloader for 8051 based chips supports writing data bytes which are not relevant for the AVR based chips.BSB - boot status byte
Get Registerbootloader-version - currently flashed bootloader versionID1 - device boot identification 1 ID2 - device boot identification 2 manufacturer - the hardware manufacturer code family - the product family code product-name - the product name product-revision - the product revision HSB - same as the configure_register version BSB - same as the configure_register version SBV - same as the configure_register version SSB - same as the configure_register version EB - same as the configure_register version BUGSNone known.KNOWN ISSUESThe at90usb series chips do not make available any read/write protect flags so the dump or flash command may fail with a less than helpful error message.To remove any write or read protection from any chips, a full chip erasure is required. For AVR32 chips an erase operation over USB will remove protection until the device is rebooted. To remove the protection more permanently requires a JTAG erase (which will also erase the bootloader). You may need to be a member of the uucp group in order to have access to the device without needing to be root. AUTHORWeston Schmidt <weston_schmidt@alumni.purdue.edu>SEE ALSOhttp://dfu-programmer.sourceforge.net http://www.atmel.com/Images/doc7618.pdf http://www.atmel.com/Images/doc32131.pdf http://www.atmel.com/Images/doc8457.pdf http://www.atmel.com/Images/doc7745.pdfCOPYRIGHTCopyright (C) 2005-2014 Weston SchmidtThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Visit the GSP FreeBSD Man Page Interface. |