mirror of
https://github.com/avrdudes/avrdude.git
synced 2026-09-30 12:59:04 +03:00
Add @cindex terms for programmers
This commit is contained in:
@@ -144,7 +144,7 @@ eeprom, programming fuse/lock bits, etc.
|
||||
AVRDUDE supports the following basic programmer types: Atmel's STK500,
|
||||
Atmel's AVRISP and AVRISP mkII devices,
|
||||
Atmel's STK600,
|
||||
Atmel's JTAG ICE (the original one, mkII, and 3, the latter two also in ISP mode), appnote
|
||||
Atmel's JTAG ICE (the original one, mkII, and 3), appnote
|
||||
avr910, appnote avr109 (including the AVR Butterfly),
|
||||
serial bit-bang adapters,
|
||||
and the PPI (parallel port interface). PPI represents a class
|
||||
@@ -221,7 +221,31 @@ A typical programming cable would then look like:
|
||||
The @code{-P @var{portname}} option defaults to
|
||||
@code{/dev/spidev0.0:/dev/gpiochip0} for this programmer.
|
||||
|
||||
@cindex Atmel STK500
|
||||
@cindex Atmel JTAG ICE mkI
|
||||
@cindex STK500
|
||||
@cindex JTAG ICE mkI
|
||||
@cindex @code{butterfly}
|
||||
The STK500, JTAG ICE, avr910, and avr109/butterfly use the serial port to communicate with the PC.
|
||||
@cindex Atmel STK600
|
||||
@cindex Atmel JTAG ICE mkII
|
||||
@cindex Atmel AVR JTAGICE3
|
||||
@cindex STK600
|
||||
@cindex JTAG ICE mkII
|
||||
@cindex AVR JTAGICE3
|
||||
@cindex JTAGICE3
|
||||
@cindex USBasp ISP and TPI programmer
|
||||
@cindex FT2232H/D programmer
|
||||
@cindex FT2232H JTAG programmer
|
||||
@cindex FT2232H with buffer and LEDs
|
||||
@cindex FT232H JTAG programmer
|
||||
@cindex FT232H programmer
|
||||
@cindex FT232R programmer
|
||||
@cindex FT232R Synchronous BitBang
|
||||
@cindex FT245R programmer
|
||||
@cindex FT4232H programmer
|
||||
@cindex FTDI TTL232R-5V
|
||||
@cindex USBtiny simple USB programmer
|
||||
The STK600, JTAG ICE mkII/3, AVRISP mkII, USBasp, avrftdi (and derivatives), and USBtinyISP
|
||||
programmers communicate through the USB, using @code{libusb} as a
|
||||
platform abstraction layer.
|
||||
@@ -232,6 +256,7 @@ are only supported on interface A, but the H parts can be either A or B (specifi
|
||||
usbdev config parameter).
|
||||
The STK500, STK600, JTAG ICE, and avr910 contain on-board logic to control the programming of the target
|
||||
device.
|
||||
@cindex Atmel bootloader (AVR109, AVR911)
|
||||
The avr109 bootloader implements a protocol similar to avr910, but is
|
||||
actually implemented in the boot area of the target's flash, as
|
||||
opposed to being an external device.
|
||||
@@ -248,23 +273,40 @@ protocol is more sophisticated.
|
||||
(The JTAG ICE mkII protocol can also be run on top of USB.)
|
||||
Only the memory programming functionality of the JTAG ICE is supported
|
||||
by AVRDUDE.
|
||||
For the JTAG ICE mkII/3, JTAG, debugWire and ISP mode are supported, provided
|
||||
@cindex debugWIRE
|
||||
@cindex ISP
|
||||
@cindex PDI
|
||||
@cindex JTAG
|
||||
@cindex Atmel JTAG ICE mkII
|
||||
@cindex Atmel AVR JTAGICE3
|
||||
@cindex JTAG ICE mkII
|
||||
@cindex AVR JTAGICE3
|
||||
@cindex JTAGICE3
|
||||
For the JTAG ICE mkII/3, JTAG, debugWIRE and ISP mode are supported, provided
|
||||
it has a firmware revision of at least 4.14 (decimal).
|
||||
See below for the limitations of debugWire.
|
||||
For ATxmega devices, the JTAG ICE mkII/3 is supported in PDI mode, provided it
|
||||
has a revision 1 hardware and firmware version of at least 5.37 (decimal).
|
||||
See below for the limitations of debugWIRE.
|
||||
For ATxmega devices, the JTAG ICE mkII/3 is supported in PDI mode (Xmega
|
||||
parts), provided it has a revision 1 hardware and firmware version of at
|
||||
least 5.37 (decimal).
|
||||
|
||||
The Atmel-ICE (ARM/AVR) is supported (JTAG, PDI for Xmega, debugWIRE, ISP,
|
||||
UPDI).
|
||||
@cindex Atmel-ICE
|
||||
The Atmel-ICE (ARM/AVR) is supported (JTAG, PDI, debugWIRE, ISP, UPDI).
|
||||
|
||||
@cindex Atmel XplainedPro
|
||||
@cindex XplainedPro
|
||||
Atmel's XplainedPro boards, using EDBG protocol (CMSIS-DAP compliant), are
|
||||
supported by the ``jtag3'' programmer type.
|
||||
|
||||
@cindex Atmel XplainedMini
|
||||
@cindex XplainedMini
|
||||
Atmel's XplainedMini boards, using mEDBG protocol, are also
|
||||
supported by the ``jtag3'' programmer type.
|
||||
|
||||
The AVR Dragon is supported in all modes (ISP, JTAG, PDI, HVSP, PP, debugWire).
|
||||
When used in JTAG and debugWire mode, the AVR Dragon behaves similar to a
|
||||
@cindex Atmel AVR Dragon
|
||||
@cindex AVR Dragon
|
||||
@cindex Dragon
|
||||
The AVR Dragon is supported in all modes (ISP, JTAG, PDI, HVSP, PP, debugWIRE).
|
||||
When used in JTAG and debugWIRE mode, the AVR Dragon behaves similar to a
|
||||
JTAG ICE mkII, so all device-specific comments for that device
|
||||
will apply as well.
|
||||
When used in ISP and PDI mode, the AVR Dragon behaves similar to an
|
||||
@@ -276,6 +318,7 @@ option might be required to achieve a stable ISP communication.
|
||||
For ATxmega devices, the AVR Dragon is supported in PDI mode, provided it
|
||||
has a firmware version of at least 6.11 (decimal).
|
||||
|
||||
@cindex Wiring bootloader
|
||||
Wiring boards (e.g. Arduino Mega 2560 Rev3) are supported, utilizing
|
||||
STK500 V2.x protocol, but a simple DTR/RTS toggle to set the boards
|
||||
into programming mode. The programmer type is ``wiring''. Note that
|
||||
@@ -283,6 +326,7 @@ the @code{-D} option will likely be required in this case, because the
|
||||
bootloader will rewrite the program memory, but no true chip erase can
|
||||
be performed.
|
||||
|
||||
@cindex Arduino bootloader
|
||||
Serial bootloaders that run a skeleton of the STK500 1.x protocol are supported via
|
||||
their own programmer type specification ``arduino''. This programmer works for
|
||||
the Arduino Uno Rev3 or any AVR that runs the Optiboot bootloader.
|
||||
@@ -291,6 +335,9 @@ extended parameter. See the section on
|
||||
@emph{extended parameters}
|
||||
below for details.
|
||||
|
||||
@cindex Urboot bootloader
|
||||
@cindex Urclock programmer
|
||||
@cindex Urprotocol
|
||||
Urprotocol is a leaner version of the STK500 1.x protocol that is designed
|
||||
to be backwards compatible with STK500 v1.x; it allows bootloaders to be
|
||||
much smaller, e.g., as implemented in the urboot project
|
||||
@@ -304,12 +351,14 @@ enable it to protect the bootloader from being overwritten. If an unknown
|
||||
bootloader has EEPROM read/write capability then the option @code{-x eepromrw}
|
||||
informs @code{avrdude -c urclock} of that capability.
|
||||
|
||||
@cindex The Bus Pirate
|
||||
The BusPirate is a versatile tool that can also be used as an AVR programmer.
|
||||
A single BusPirate can be connected to up to 3 independent AVRs. See
|
||||
the section on
|
||||
@emph{extended parameters}
|
||||
below for details.
|
||||
|
||||
@cindex CH341A programmer
|
||||
The USBasp ISP, USBtinyISP and CH341A adapters are also supported, provided
|
||||
AVRDUDE has been compiled with libusb support.
|
||||
They former two feature simple firmware-only USB implementations, running on
|
||||
@@ -320,20 +369,29 @@ AVR target must have a CPU frequency of 6.8@w{ }MHz or more: factory-set
|
||||
AVR parts, which typically run on an internal oscillator between 1 MHz and
|
||||
1.6 MHz, cannot be programmed using @code{-c ch341a}.
|
||||
|
||||
@cindex FLIP bootloader
|
||||
The Atmel DFU bootloader is supported in both, FLIP protocol version 1
|
||||
(AT90USB* and ATmega*U* devices), as well as version 2 (Xmega devices).
|
||||
See below for some hints about FLIP version 1 protocol behaviour.
|
||||
|
||||
@cindex MPLAB(R) PICkit 4
|
||||
@cindex MPLAB(R) PICkit 5
|
||||
@cindex MPLAB(R) SNAP
|
||||
@cindex PICkit 4
|
||||
@cindex PICkit 5
|
||||
@cindex SNAP
|
||||
The MPLAB(R) PICkit 4 and MPLAB(R) SNAP are supported in JTAG, TPI, ISP, PDI and UPDI mode.
|
||||
@cindex Curiosity nano
|
||||
The Curiosity Nano board is supported in UPDI mode. It is dubbed ``PICkit on
|
||||
Board'', thus the name @code{pkobn_updi}.
|
||||
The MPLAB(R) PICkit 5 is currently only supported in UPDI mode.
|
||||
|
||||
@cindex SerialUPDI
|
||||
SerialUPDI programmer implementation is based on Microchip's
|
||||
@emph{pymcuprog} (@url{https://github.com/microchip-pic-avr-tools/pymcuprog})
|
||||
utility, but it also contains some performance improvements included in
|
||||
Spence Konde's @emph{DxCore} Arduino core (@url{https://github.com/SpenceKonde/DxCore}).
|
||||
In a nutshell, this programmer consists of simple USB->UART adapter, diode
|
||||
In a nutshell, this programmer consists of simple USB-to-UART adapter, diode
|
||||
and couple of resistors. It uses serial connection to provide UPDI interface.
|
||||
@xref{SerialUPDI Programmer} for more details and known issues.
|
||||
|
||||
@@ -343,18 +401,22 @@ Jtag2updi is just a firmware that can be uploaded to an AVR,
|
||||
which enables it to interface with avrdude using the jtagice mkii protocol
|
||||
via a serial link (@url{https://github.com/ElTangas/jtag2updi}).
|
||||
|
||||
@cindex Micronucleus bootloader
|
||||
The Micronucleus bootloader is supported for both protocol version V1 and
|
||||
V2. As the bootloader does not support reading from flash memory, use the
|
||||
@code{-V} option to prevent AVRDUDE from verifying the flash memory. See
|
||||
the section on @emph{extended parameters} below for Micronucleus specific
|
||||
options.
|
||||
|
||||
@cindex Teensy bootloader
|
||||
The Teensy bootloader is supported for all AVR boards.
|
||||
As the bootloader does not support reading from flash memory,
|
||||
use the @code{-V} option to prevent AVRDUDE from verifying the flash memory.
|
||||
See the section on @emph{extended parameters}
|
||||
below for Teensy specific options.
|
||||
|
||||
@ref{List of Programmers} holds a full listing of known programmers.
|
||||
|
||||
@menu
|
||||
* History::
|
||||
@end menu
|
||||
@@ -426,6 +488,7 @@ following options are recognized:
|
||||
@table @code
|
||||
@item -p @var{partno}
|
||||
@cindex Option @code{-p} @var{partno}
|
||||
@cindex @code{-p} @var{partno}
|
||||
|
||||
This option tells AVRDUDE what part (MCU) is connected to the programmer.
|
||||
The @var{partno} parameter is the part's id listed in the configuration
|
||||
@@ -449,6 +512,7 @@ listing of supported parts.
|
||||
|
||||
@item -p @var{wildcard/flags}
|
||||
@cindex Option @code{-p} @var{wildcard/flags}
|
||||
@cindex @code{-p} @var{wildcard/flags}
|
||||
Run developer options for MCUs that are matched by @var{wildcard}. Whilst
|
||||
their main use is for developers some @var{flags} can be of utility for
|
||||
users, e.g., @code{avrdude -p m328p/S} outputs AVRDUDE's understanding of
|
||||
@@ -456,6 +520,7 @@ ATmega328P MCU properties; for more information run @code{avrdude -p x/h}.
|
||||
|
||||
@item -b @var{baudrate}
|
||||
@cindex Option @code{-b} @var{baudrate}
|
||||
@cindex @code{-b} @var{baudrate}
|
||||
Override the RS-232 connection baud rate specified in the respective
|
||||
programmer's @code{baudrate} entry of the configuration file
|
||||
or defined by the @code{default_baudrate} entry in your
|
||||
@@ -464,10 +529,11 @@ file if no @code{baudrate} entry was provided for this programmer.
|
||||
|
||||
@item -B @var{bitclock}
|
||||
@cindex Option @code{-B} @var{bitclock}
|
||||
@cindex @code{-B} @var{bitclock}
|
||||
Specify the bit clock period for the JTAG, PDI, TPI, UPDI, or ISP
|
||||
interface. The value is a floating-point number in microseconds.
|
||||
Alternatively, the value might be suffixed with "Hz", "kHz" or
|
||||
"MHz" in order to specify the bit clock frequency rather than a
|
||||
Alternatively, the value might be suffixed with Hz, kHz or
|
||||
MHz in order to specify the bit clock frequency rather than a
|
||||
period. Some programmers default their bit clock value to a 1
|
||||
microsecond bit clock period, suitable for target MCUs running at 4
|
||||
MHz clock and above. Slower MCUs need a correspondingly higher bit
|
||||
@@ -480,15 +546,17 @@ can use the 'default_bitclock' keyword in your
|
||||
configuration file to assign a default value to keep from having to
|
||||
specify this option on every invocation.
|
||||
|
||||
Note that some official Microchip programmers store the bitclock setting and
|
||||
will continue to use it until a different value is provided. This applies to
|
||||
"2nd gen" programmers (AVRISPmkII, AVR Dragon, JTAG ICE mkII, STK600) and
|
||||
"3rd gen"programmers (JTAGICE3, Atmel ICE, Power Debugger). "4th gen"
|
||||
programmers (PICkit 4, MPLAB SNAP) will store the last user-specified bitclock
|
||||
until the programmer is disconnected from the computer.
|
||||
Note that some official Microchip programmers store the bitclock setting
|
||||
and will continue to use it until a different value is provided. This
|
||||
applies to 2nd generation programmers (AVRISPmkII, AVR Dragon, JTAG ICE
|
||||
mkII, STK600) and 3rd generation programmers (JTAGICE3, Atmel ICE, Power
|
||||
Debugger). 4th generation programmers (PICkit 4, MPLAB(R) SNAP) will store
|
||||
the last user-specified bitclock until the programmer is disconnected from
|
||||
the computer.
|
||||
|
||||
@item -c @var{programmer-id}
|
||||
@cindex Option @code{-c} @var{programmer-id}
|
||||
@cindex @code{-c} @var{programmer-id}
|
||||
|
||||
Specify the programmer to be used. AVRDUDE knows about quite a few
|
||||
programmers. The @var{programmer-id} parameter is the programmer's id
|
||||
@@ -507,6 +575,7 @@ of known programmers.
|
||||
|
||||
@item -c @var{wildcard/flags}
|
||||
@cindex Option @code{-c} @var{wildcard/flags}
|
||||
@cindex @code{-c} @var{wildcard/flags}
|
||||
Run developer options for programmers that are matched by @var{wildcard}.
|
||||
Whilst their main use is for developers some @var{flags} can be of utility
|
||||
for users, e.g., @code{avrdude -c usbtiny/S} shows AVRDUDE's understanding of
|
||||
@@ -514,6 +583,7 @@ usbtiny's properties; for more information run @code{avrdude -c x/h}.
|
||||
|
||||
@item -C @var{config-file}
|
||||
@cindex Option @code{-C} @var{config-file}
|
||||
@cindex @code{-C} @var{config-file}
|
||||
@cindex Configuration files
|
||||
Use the specified config file for configuration data. This file
|
||||
contains all programmer and part definitions that AVRDUDE knows about.
|
||||
@@ -543,12 +613,14 @@ line.
|
||||
|
||||
@item -N
|
||||
@cindex Option @code{-N}
|
||||
@cindex @code{-N}
|
||||
Do not load the personal configuration file that is usually located at
|
||||
@code{~/.config/avrdude/avrdude.rc}, @code{~/.avrduderc} or in the same
|
||||
directory as the avrdude executable.
|
||||
|
||||
@item -A
|
||||
@cindex Option @code{-A}
|
||||
@cindex @code{-A}
|
||||
Disable the automatic removal of trailing-0xFF sequences in file input
|
||||
that is to be programmed to flash and in AVR reads from flash memory.
|
||||
Normally, trailing 0xFFs can be discarded, as flash programming requires
|
||||
@@ -560,6 +632,7 @@ The popular Arduino bootloader exhibits this behaviour; for this reason
|
||||
|
||||
@item -D
|
||||
@cindex Option @code{-D}
|
||||
@cindex @code{-D}
|
||||
Disable auto-erase for flash. When the @code{-U} option for writing to any
|
||||
flash memory is specified, avrdude will perform a chip erase before
|
||||
starting any of the programming operations, since it generally is a
|
||||
@@ -572,6 +645,7 @@ contents. Setting @code{-D} implies @code{-A}.
|
||||
|
||||
@item -e
|
||||
@cindex Option @code{-e}
|
||||
@cindex @code{-e}
|
||||
Causes a chip erase to be executed. This will reset the contents of the
|
||||
flash ROM and EEPROM to the value @code{0xff}, and clear all lock bits.
|
||||
Except for ATxmega and UPDI (AVR8X family) devices, all of which can use
|
||||
@@ -585,7 +659,7 @@ sequence of @code{-U}, @code{-T} or @code{-t} options it is recommended to
|
||||
use @code{-T} erase instead which is processed in the given command line
|
||||
order.
|
||||
|
||||
@cindex auto-erase
|
||||
@cindex Auto-erase
|
||||
In absence of an explicit @code{-e} or @code{-D} option avrdude tries to
|
||||
augur from the command line whether or not the chip should be auto-erased
|
||||
at the beginning. If avrdude detects a @code{-U} command that writes to
|
||||
@@ -600,6 +674,7 @@ programming the cell.
|
||||
|
||||
@item -E @var{exitspec}[,@dots{}]
|
||||
@cindex Option @code{-E} @var{exitspec}[,@dots{}]
|
||||
@cindex @code{-E} @var{exitspec}[,@dots{}]
|
||||
Pass @var{exitspec} to the programmer. The interpretation of the exitspec
|
||||
parameter depends on the programmer itself. See below for a list of
|
||||
programmers accepting exitspec parameter options or issue
|
||||
@@ -609,6 +684,7 @@ Multiple @var{exitspec} options can be separated with commas.
|
||||
|
||||
@item -F
|
||||
@cindex Option @code{-F}
|
||||
@cindex @code{-F}
|
||||
Normally, AVRDUDE tries to verify that the device signature read from
|
||||
the part is reasonable before continuing. Since it can happen from time
|
||||
to time that a device has a broken (erased or overwritten) device
|
||||
@@ -623,6 +699,7 @@ of connection between a programmer and a target.
|
||||
|
||||
@item -i @var{delay}
|
||||
@cindex Option @code{-i} @var{delay}
|
||||
@cindex @code{-i} @var{delay}
|
||||
For bitbang-type programmers, delay for approximately
|
||||
@var{delay}
|
||||
microseconds between each bit state change.
|
||||
@@ -641,18 +718,21 @@ slow machines.
|
||||
|
||||
@item -l @var{logfile}
|
||||
@cindex Option @code{-l} @var{logfile}
|
||||
@cindex @code{-l} @var{logfile}
|
||||
Use @var{logfile} rather than @var{stderr} for diagnostics output.
|
||||
Note that initial diagnostic messages (during option parsing) are still
|
||||
written to @var{stderr} anyway.
|
||||
|
||||
@item -n
|
||||
@cindex Option @code{-n}
|
||||
@cindex @code{-n}
|
||||
No-write: disables writing data to the MCU whilst processing @code{-U}
|
||||
(useful for debugging AVRDUDE). The terminal mode continues to write to
|
||||
the device.
|
||||
|
||||
@item -O
|
||||
@cindex Option @code{-O}
|
||||
@cindex @code{-O}
|
||||
Perform a RC oscillator run-time calibration according to Atmel
|
||||
application note AVR053.
|
||||
This is only supported on the STK500v2, AVRISP mkII, and JTAG ICE mkII
|
||||
@@ -661,6 +741,7 @@ Note that the result will be stored in the EEPROM cell at address 0.
|
||||
|
||||
@item -P @var{port}
|
||||
@cindex Option @code{-P} @var{port}
|
||||
@cindex @code{-P} @var{port}
|
||||
|
||||
Use @var{port} to identify the connection through which the programmer is
|
||||
attached. This can be a parallel, serial, spi or linuxgpio connection. The
|
||||
@@ -747,6 +828,7 @@ Posix systems (by now).
|
||||
|
||||
@item -r
|
||||
@cindex Option @code{-r}
|
||||
@cindex @code{-r}
|
||||
Opens the serial port at 1200 baud and immediately closes it, waits 400 ms
|
||||
for each @code{-r} on the command line and then establishes communication
|
||||
with the programmer. This is commonly known as a "1200bps touch", and is
|
||||
@@ -757,16 +839,19 @@ powerful hosts.
|
||||
|
||||
@item -q
|
||||
@cindex Option @code{-q}
|
||||
@cindex @code{-q}
|
||||
Disable (or quell) output of the progress bar while reading or writing
|
||||
to the device. Specify it a second time for even quieter operation.
|
||||
|
||||
@item -s, -u
|
||||
@cindex Option @code{-s}, @code{-u}
|
||||
@cindex @code{-s}, @code{-u}
|
||||
These options used to control the obsolete "safemode" feature which
|
||||
is no longer present. They are silently ignored for backwards compatibility.
|
||||
|
||||
@item -T @var{cmd}
|
||||
@cindex Option @code{-T} @var{cmd}
|
||||
@cindex @code{-T} @var{cmd}
|
||||
Run terminal line @var{cmd} when it is its turn in relation to other
|
||||
@code{-t} interactive terminals, @code{-T} terminal commands and
|
||||
@code{-U} memory operations. Except for the simplest of terminal commands
|
||||
@@ -776,12 +861,14 @@ terminal commands.
|
||||
|
||||
@item -t
|
||||
@cindex Option @code{-t}
|
||||
@cindex @code{-t}
|
||||
Tells AVRDUDE to run an interactive terminal when it is its turn in
|
||||
relation to other @code{-t} interactive terminals, @code{-T}
|
||||
terminal commands and @code{-U} memory operations.
|
||||
|
||||
@item -U @var{memory}:@var{op}:@var{filename}[:@var{format}]
|
||||
@cindex Option @code{-U} @var{memory}:@var{op}:@var{filename}[:@var{format}]
|
||||
@cindex @code{-U} @var{memory}:@var{op}:@var{filename}[:@var{format}]
|
||||
|
||||
Perform a memory operation when it is its turn in relation to other
|
||||
@code{-t} interactive terminals, @code{-T} terminal commands and @code{-U}
|
||||
@@ -1084,15 +1171,18 @@ interpreted as memory, and the single character as memory operation.
|
||||
|
||||
@item -v
|
||||
@cindex Option @code{-v}
|
||||
@cindex @code{-v}
|
||||
Enable verbose output.
|
||||
More @code{-v} options increase verbosity level.
|
||||
|
||||
@item -V
|
||||
@cindex Option @code{-V}
|
||||
@cindex @code{-V}
|
||||
Disable automatic verify check when uploading data with @code{-U}.
|
||||
|
||||
@item -x @var{extended_param}
|
||||
@cindex Option @code{-x} @var{extended_param}
|
||||
@cindex @code{-x} @var{extended_param}
|
||||
Pass @var{extended_param} to the chosen programmer implementation as
|
||||
an extended parameter. The interpretation of the extended parameter
|
||||
depends on the programmer itself. See below for a list of programmers
|
||||
@@ -1110,9 +1200,13 @@ see the extended options of the chosen programmer.
|
||||
@cindex Programmers accepting exitspec parameters
|
||||
@table @code
|
||||
|
||||
@cindex FLIP bootloader
|
||||
@cindex Option @code{-x} flip2
|
||||
@cindex @code{-x} flip2
|
||||
@cindex Option @code{-x} linuxspi
|
||||
@cindex @code{-x} linuxspi
|
||||
@cindex Option @code{-x} parallel port programmers
|
||||
@cindex @code{-x} parallel port programmers
|
||||
@item flip2
|
||||
@itemx linuxspi
|
||||
@itemx Parallel port programmers
|
||||
@@ -1126,6 +1220,8 @@ Multiple exitspec options can be separated with commas.
|
||||
@item @samp{help}
|
||||
Show help menu and exit.
|
||||
|
||||
@cindex Option @code{-E} reset
|
||||
@cindex @code{-E} reset
|
||||
@item @samp{reset}
|
||||
The `/RESET' signal will be left activated at program exit, that is it
|
||||
will be held low, in order to keep the MCU in reset state afterwards.
|
||||
@@ -1136,6 +1232,8 @@ a previous invocation of AVRDUDE with this option specified is one of
|
||||
the possible ways to guarantee this condition. @code{flip2} will not
|
||||
exit bootloader mode at program exit if @samp{reset} is used.
|
||||
|
||||
@cindex Option @code{-E} noreset
|
||||
@cindex @code{-E} noreset
|
||||
@item @samp{noreset}
|
||||
The `/RESET' line will be deactivated at program exit, thus allowing the
|
||||
MCU target program to run while the programming hardware remains
|
||||
@@ -1145,26 +1243,35 @@ behaviour for this bootloader.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} parallel port programmers
|
||||
@cindex @code{-x} parallel port programmers
|
||||
@item Parallel port programmers
|
||||
|
||||
Parallel port based programmers have a few more options.
|
||||
|
||||
@table @code
|
||||
@cindex Option @code{-E} vcc
|
||||
@cindex @code{-E} vcc
|
||||
@item @samp{vcc}
|
||||
This option will leave those parallel port pins active (i. e. high) that
|
||||
can be used to supply `Vcc' power to the MCU.
|
||||
|
||||
@cindex Option @code{-E} novcc
|
||||
@cindex @code{-E} novcc
|
||||
@item @samp{novcc}
|
||||
This option will pull the `Vcc' pins of the parallel port down at
|
||||
program exit.
|
||||
|
||||
@cindex Option @code{-E} d_high
|
||||
@cindex @code{-E} d_high
|
||||
@item @samp{d_high}
|
||||
This option will leave the 8 data pins on the parallel port active
|
||||
(i. e. high).
|
||||
(i.e. high).
|
||||
|
||||
@cindex Option @code{-E} d_low
|
||||
@cindex @code{-E} d_low
|
||||
@item @samp{d_low}
|
||||
This option will leave the 8 data pins on the parallel port inactive
|
||||
(i. e. low).
|
||||
(i.e. low).
|
||||
@end table
|
||||
|
||||
@end table
|
||||
@@ -1178,8 +1285,12 @@ This option will leave the 8 data pins on the parallel port inactive
|
||||
@cindex Programmers accepting extended parameters
|
||||
@table @code
|
||||
|
||||
@cindex Emulating a bootloader (dryboot)
|
||||
@cindex Emulating a HW programmer (dryrun)
|
||||
@cindex Option @code{-x} dryboot
|
||||
@cindex @code{-x} dryboot
|
||||
@cindex Option @code{-x} dryrun
|
||||
@cindex @code{-x} dryrun
|
||||
@item dryrun
|
||||
@itemx dryboot
|
||||
|
||||
@@ -1218,19 +1329,41 @@ Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} JTAG ICE mkII/3
|
||||
@cindex @code{-x} JTAG ICE mkII/3
|
||||
@cindex Option @code{-x} Atmel-ICE
|
||||
@cindex @code{-x} Atmel-ICE
|
||||
@cindex Option @code{-x} PICkit 4
|
||||
@cindex Option @code{-x} MPLAB SNAP
|
||||
@cindex @code{-x} PICkit 4
|
||||
@cindex Option @code{-x} MPLAB(R) SNAP
|
||||
@cindex @code{-x} MPLAB(R) SNAP
|
||||
@cindex Option @code{-x} Power Debugger
|
||||
@cindex @code{-x} Power Debugger
|
||||
@cindex Option @code{-x} AVR Dragon
|
||||
@cindex @code{-x} AVR Dragon
|
||||
@cindex Atmel JTAG ICE mkII
|
||||
@cindex JTAG ICE mkII
|
||||
@cindex Atmel AVR JTAGICE3
|
||||
@cindex AVR JTAGICE3
|
||||
@cindex JTAGICE3
|
||||
@cindex MPLAB(R) PICkit 4
|
||||
@cindex PICkit 4
|
||||
@cindex MPLAB(R) PICkit 5
|
||||
@cindex PICkit 5
|
||||
@cindex MPLAB(R) SNAP
|
||||
@cindex SNAP
|
||||
@cindex Atmel PowerDebugger
|
||||
@cindex PowerDebugger
|
||||
@cindex Atmel AVR Dragon
|
||||
@cindex AVR Dragon
|
||||
@cindex Dragon
|
||||
@item JTAG ICE mkII/3
|
||||
@itemx Atmel-ICE
|
||||
@itemx PICkit 4
|
||||
@itemx MPLAB SNAP
|
||||
@itemx MPLAB(R) SNAP
|
||||
@itemx Power Debugger
|
||||
@itemx AVR Dragon
|
||||
|
||||
When using the JTAG ICE mkII, JTAGICE3, Atmel-ICE, PICkit 4, MPLAB SNAP,
|
||||
When using the JTAG ICE mkII, JTAGICE3, Atmel-ICE, PICkit 4, MPLAB(R) SNAP,
|
||||
Power Debugger or AVR Dragon in JTAG mode, the following extended parameter
|
||||
is accepted:
|
||||
@table @code
|
||||
@@ -1259,14 +1392,20 @@ Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} PICkit 4
|
||||
@cindex Option @code{-x} MPLAB SNAP
|
||||
@cindex @code{-x} PICkit 4
|
||||
@cindex Option @code{-x} MPLAB(R) SNAP
|
||||
@cindex @code{-x} MPLAB(R) SNAP
|
||||
@cindex MPLAB(R) PICkit 4
|
||||
@cindex MPLAB(R) SNAP
|
||||
@cindex SNAP
|
||||
@cindex PICkit 4
|
||||
@item PICkit 4
|
||||
@item MPLAB SNAP
|
||||
@item MPLAB(R) SNAP
|
||||
|
||||
The PICkit 4 and MPLAB SNAP programmers accept the following extended parameters:
|
||||
The PICkit 4 and MPLAB(R) SNAP programmers accept the following extended parameters:
|
||||
@table @code
|
||||
@item @samp{mode=avr,pic}
|
||||
Switch programmer to AVR or PIC mode, then exit: the PICkit 4 and MPLAB SNAP
|
||||
Switch programmer to AVR or PIC mode, then exit: the PICkit 4 and MPLAB(R) SNAP
|
||||
programmer can only be utilised by Avrdude when in AVR mode.
|
||||
Use @samp{-x mode=avr} for switching to AVR mode, or @samp{-x mode=pic}
|
||||
for switching to PIC mode.
|
||||
@@ -1275,6 +1414,11 @@ Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} PICkit 5
|
||||
@cindex @code{-x} PICkit 5
|
||||
@cindex MPLAB(R) PICkit 4
|
||||
@cindex PICkit 4
|
||||
@cindex MPLAB(R) PICkit 5
|
||||
@cindex PICkit 5
|
||||
@item PICkit 5
|
||||
@item PICkit 4 (PIC Mode)
|
||||
|
||||
@@ -1296,6 +1440,9 @@ Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} Xplained Mini
|
||||
@cindex @code{-x} Xplained Mini
|
||||
@cindex Atmel XplainedMini
|
||||
@cindex XplainedMini
|
||||
@item Xplained Mini
|
||||
|
||||
The Xplained Mini/Nano programmer (ISP or UPDI, not TPI) type accepts the
|
||||
@@ -1331,6 +1478,8 @@ Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} Curiosity Nano
|
||||
@cindex @code{-x} Curiosity Nano
|
||||
@cindex Curiosity nano
|
||||
@item Curiosity Nano
|
||||
|
||||
The Curiosity Nano board accepts the following extended parameter:
|
||||
@@ -1343,7 +1492,13 @@ Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} STK500
|
||||
@cindex @code{-x} STK500
|
||||
@cindex Option @code{-x} STK600
|
||||
@cindex @code{-x} STK600
|
||||
@cindex Atmel STK500
|
||||
@cindex STK500
|
||||
@cindex Atmel STK600
|
||||
@cindex STK600
|
||||
@item STK500
|
||||
@item STK600
|
||||
|
||||
@@ -1378,7 +1533,10 @@ original STK500. Used by avrdude for the correct calculation of fosc and sck.
|
||||
Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Atmel bootloader (AVR109, AVR911)
|
||||
@cindex Bootloader (AVR109, AVR911)
|
||||
@cindex Option @code{-x} AVR109
|
||||
@cindex @code{-x} AVR109
|
||||
@item AVR109
|
||||
|
||||
The AVR109 programmer type accepts the following extended parameter:
|
||||
@@ -1390,9 +1548,12 @@ Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} AVR910
|
||||
@cindex @code{-x} AVR910
|
||||
@cindex Atmel low-cost programmer AVR910
|
||||
@cindex Low-cost programmer AVR910
|
||||
@item AVR910
|
||||
|
||||
The AVR910 programmer type accepts the following extended parameter:
|
||||
The Atmel low-cost AVR910 programmer type accepts the following extended parameter:
|
||||
@table @code
|
||||
@item @samp{devcode=VALUE}
|
||||
Override the device code selection by using @var{VALUE}
|
||||
@@ -1413,6 +1574,8 @@ Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} Arduino
|
||||
@cindex @code{-x} Arduino
|
||||
@cindex Arduino bootloader
|
||||
@item Arduino
|
||||
|
||||
The Arduino programmer type accepts the following extended parameter:
|
||||
@@ -1426,7 +1589,11 @@ Do not toggle RTS/DTR lines on port open to prevent a hardware reset.
|
||||
Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Urboot bootloader
|
||||
@cindex Urclock programmer
|
||||
@cindex Urprotocol
|
||||
@cindex Option @code{-x} Urclock
|
||||
@cindex @code{-x} Urclock
|
||||
@item Urclock
|
||||
|
||||
The urclock programmer type accepts the following extended parameters:
|
||||
@@ -1553,7 +1720,10 @@ with this, and they need the @code{-x strict} option.
|
||||
Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} Buspirate
|
||||
@cindex Option @code{-x} BusPirate
|
||||
@cindex @code{-x} BusPirate
|
||||
@cindex The Bus Pirate
|
||||
@cindex BusPirate
|
||||
@item BusPirate
|
||||
|
||||
The BusPirate programmer type accepts the following extended parameters:
|
||||
@@ -1659,6 +1829,8 @@ Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} Micronucleus bootloader
|
||||
@cindex @code{-x} Micronucleus bootloader
|
||||
@cindex Micronucleus bootloader
|
||||
@item Micronucleus bootloader
|
||||
|
||||
The Micronucleus programmer type accepts the following extended parameter:
|
||||
@@ -1673,6 +1845,8 @@ Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} Teensy bootloader
|
||||
@cindex @code{-x} Teensy bootloader
|
||||
@cindex Teensy bootloader
|
||||
@item Teensy bootloader
|
||||
|
||||
The Teensy programmer type accepts the following extended parameter:
|
||||
@@ -1687,6 +1861,8 @@ Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} Wiring
|
||||
@cindex @code{-x} Wiring
|
||||
@cindex Wiring bootloader
|
||||
@item Wiring
|
||||
|
||||
The Wiring programmer type accepts the following extended parameters:
|
||||
@@ -1705,7 +1881,11 @@ Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} PICkit2
|
||||
@cindex @code{-x} PICkit2
|
||||
@cindex Microchip PICkit 2 programmer
|
||||
@cindex PICkit 2 programmer
|
||||
@item PICkit2
|
||||
|
||||
Connection to the PICkit2 programmer:
|
||||
@multitable @columnfractions .05 .3
|
||||
@item @code{(AVR)} @tab @code{(PICkit2)}
|
||||
@@ -1728,6 +1908,8 @@ Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} USBasp
|
||||
@cindex @code{-x} USBasp
|
||||
@cindex USBasp ISP and TPI programmer
|
||||
@item USBasp
|
||||
|
||||
The USBasp programmer type accepts the following extended parameter:
|
||||
@@ -1742,6 +1924,8 @@ Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} xbee
|
||||
@cindex @code{-x} xbee
|
||||
@cindex XBeeBoot OTA bootloader
|
||||
@item xbee
|
||||
|
||||
The xbee programmer type accepts the following extended parameter:
|
||||
@@ -1763,7 +1947,11 @@ Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} jtag2updi
|
||||
@cindex @code{-x} jtag2updi
|
||||
@cindex Option @code{-x} serialupdi
|
||||
@cindex @code{-x} serialupdi
|
||||
@cindex JTAGv2 to UPDI bridge
|
||||
@cindex SerialUPDI
|
||||
@item jtag2updi
|
||||
@item serialupdi
|
||||
|
||||
@@ -1782,6 +1970,8 @@ Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Option @code{-x} linuxspi
|
||||
@cindex @code{-x} linuxspi
|
||||
@cindex Linux /dev/spidev* programmer
|
||||
@item linuxspi
|
||||
|
||||
The linuxspi programmer type accepts the following extended parameter:
|
||||
@@ -1794,7 +1984,9 @@ the CS line being managed outside the application.
|
||||
Show help menu and exit.
|
||||
@end table
|
||||
|
||||
@cindex Flashcom serprog protocol
|
||||
@cindex Option @code{-x} serprog
|
||||
@cindex @code{-x} serprog
|
||||
@item serprog
|
||||
|
||||
The serprog programmer type accepts the following extended parameter:
|
||||
@@ -2508,7 +2700,7 @@ default) decode only opcodes that are valid for the part
|
||||
Zap the list of jumps and calls before disassembly
|
||||
|
||||
@item -t=@var{file}
|
||||
@cindex tagfile
|
||||
@cindex Tagfile
|
||||
Delete symbols from a previously read tagfile, if any, and read the
|
||||
tagfile @var{file} for assigning addresses to symbol names.
|
||||
@end table
|
||||
@@ -2879,8 +3071,8 @@ Display the device signature bytes.
|
||||
|
||||
@item part @var{[opts]}
|
||||
@cindex @code{part} @var{[opts]}
|
||||
@cindex programming mode
|
||||
@cindex variants of parts
|
||||
@cindex Programming mode
|
||||
@cindex Variants of parts
|
||||
Display the current part information, including supported programming modes,
|
||||
memory and variants tables. Use @var{-m} to only print the memory table,
|
||||
and @var{-v} to only print the variants table.
|
||||
@@ -4669,13 +4861,15 @@ such as @option{--prefix} and @option{--datadir}.
|
||||
Please report any bugs encountered via
|
||||
@url{https://github.com/avrdudes/avrdude/issues}.
|
||||
|
||||
AVRDUDE's Wiki @url{https://github.com/avrdudes/avrdude/wiki} is a great
|
||||
AVRDUDE's wiki @url{https://github.com/avrdudes/avrdude/wiki} is a great
|
||||
place to learn about installing AVRDUDE on various platforms and,
|
||||
generally, to learn a few tricks of the trade. In paticular, the
|
||||
@url{https://github.com/avrdudes/avrdude/wiki/FAQ, FAQ} and the
|
||||
@url{https://github.com/avrdudes/avrdude/wiki/Known-limitations-of-avrdude,
|
||||
known limitations} of avrdude are worth reading.
|
||||
|
||||
Here a few examples for things that can go wrong and what to do:
|
||||
|
||||
@itemize @bullet
|
||||
|
||||
@item
|
||||
@@ -4729,11 +4923,11 @@ This also applies to the STK500 and STK600 in high-voltage programming mode.
|
||||
@item
|
||||
Problem: How do I turn off the @var{DWEN} fuse?
|
||||
|
||||
Solution: If the @var{DWEN} (debugWire enable) fuse is activated,
|
||||
Solution: If the @var{DWEN} (debugWIRE enable) fuse is activated,
|
||||
the @var{/RESET} pin is not functional anymore, so normal ISP
|
||||
communication cannot be established.
|
||||
There are two options to deactivate that fuse again: high-voltage
|
||||
programming, or getting the JTAG ICE mkII talk debugWire, and
|
||||
programming, or getting the JTAG ICE mkII talk debugWIRE, and
|
||||
prepare the target AVR to accept normal ISP communication again.
|
||||
|
||||
The first option requires a programmer that is capable of high-voltage
|
||||
@@ -4745,13 +4939,13 @@ reprogrammed, and the @var{DWEN} fuse can be cleared. Typically, this
|
||||
operation cannot be performed while the AVR is located in the target
|
||||
circuit though.
|
||||
|
||||
The second option requires a JTAG ICE mkII that can talk the debugWire
|
||||
The second option requires a JTAG ICE mkII that can talk the debugWIRE
|
||||
protocol. The ICE needs to be connected to the target using the
|
||||
JTAG-to-ISP adapter, so the JTAG ICE mkII can be used as a debugWire
|
||||
JTAG-to-ISP adapter, so the JTAG ICE mkII can be used as a debugWIRE
|
||||
initiator as well as an ISP programmer. AVRDUDE will then be activated
|
||||
using the @var{jtag2isp} programmer type. The initial ISP
|
||||
communication attempt will fail, but AVRDUDE then tries to initiate a
|
||||
debugWire reset. When successful, this will leave the target AVR in a
|
||||
debugWIRE reset. When successful, this will leave the target AVR in a
|
||||
state where it can accept standard ISP communication. The ICE is then
|
||||
signed off (which will make it signing off from the USB as well), so
|
||||
AVRDUDE has to be called again afterwards. This time, standard ISP
|
||||
@@ -4803,14 +4997,14 @@ avrdude -c USBasp -p atmega8 -P usb:1234
|
||||
|
||||
|
||||
@item
|
||||
Problem: I cannot do @dots{} when the target is in debugWire mode.
|
||||
Problem: I cannot do @dots{} when the target is in debugWIRE mode.
|
||||
|
||||
Solution: debugWire mode imposes several limitations.
|
||||
Solution: debugWIRE mode imposes several limitations.
|
||||
|
||||
The debugWire protocol is Atmel's proprietary one-wire (plus ground)
|
||||
The debugWIRE protocol is Atmel's proprietary one-wire (plus ground)
|
||||
protocol to allow an in-circuit emulation of the smaller AVR devices,
|
||||
using the @var{/RESET} line.
|
||||
DebugWire mode is initiated by activating the @var{DWEN}
|
||||
DebugWIRE mode is initiated by activating the @var{DWEN}
|
||||
fuse, and then power-cycling the target.
|
||||
While this mode is mainly intended for debugging/emulation, it
|
||||
also offers limited programming capabilities.
|
||||
@@ -4820,12 +5014,12 @@ It is also possible to read out the signature.
|
||||
All other memory areas cannot be accessed.
|
||||
There is no
|
||||
@emph{chip erase}
|
||||
functionality in debugWire mode; instead, while reprogramming the
|
||||
functionality in debugWIRE mode; instead, while reprogramming the
|
||||
flash, each flash page is erased right before updating it.
|
||||
This is done transparently by the JTAG ICE mkII (or AVR Dragon).
|
||||
The only way back from debugWire mode is to initiate a special
|
||||
The only way back from debugWIRE mode is to initiate a special
|
||||
sequence of commands to the JTAG ICE mkII (or AVR Dragon), so the
|
||||
debugWire mode will be temporarily disabled, and the target can
|
||||
debugWIRE mode will be temporarily disabled, and the target can
|
||||
be accessed using normal ISP programming.
|
||||
This sequence is automatically initiated by using the JTAG ICE mkII
|
||||
or AVR Dragon in ISP mode, when they detect that ISP mode cannot be
|
||||
|
||||
Reference in New Issue
Block a user