avrdude/docs/avrdude_4.html

347 lines
15 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created on March 3, 2022 by texi2html 5.0
texi2html was written by:
Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Many creative people.
Send bugs and suggestions to <texi2html-bug@nongnu.org>
-->
<head>
<title>AVRDUDE: 2.2 Programmers accepting extended parameters</title>
<meta name="description" content="AVRDUDE: 2.2 Programmers accepting extended parameters">
<meta name="keywords" content="AVRDUDE: 2.2 Programmers accepting extended parameters">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2html 5.0">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
pre.display {font-family: serif}
pre.format {font-family: serif}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: serif; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: serif; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:pre}
span.nolinebreak {white-space:pre}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Programmers-accepting-extended-parameters"></a>
<table class="header" cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="avrdude_2.html#Command-Line-Options" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="avrdude_3.html#Option-Descriptions" title="Previous section in reading order"> &lt; </a>]</td>
<td valign="middle" align="left">[<a href="avrdude_2.html#Command-Line-Options" title="Up section"> Up </a>]</td>
<td valign="middle" align="left">[<a href="avrdude_5.html#Example-Command-Line-Invocations" title="Next section in reading order"> &gt; </a>]</td>
<td valign="middle" align="left">[<a href="avrdude_6.html#Terminal-Mode-Operation" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="avrdude.html#Introduction" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="avrdude_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td valign="middle" align="left">[Index]</td>
<td valign="middle" align="left">[<a href="avrdude_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<a name="Programmers-accepting-extended-parameters-1"></a>
<h2 class="section">2.2 Programmers accepting extended parameters</h2>
<dl compact="compact">
<dt><code>JTAG ICE mkII/3</code></dt>
<dt><code>AVR Dragon</code></dt>
<dd>
<p>When using the JTAG ICE mkII/3 or AVR Dragon in JTAG mode, the
following extended parameter is accepted:
</p><dl compact="compact">
<dt><code>&lsquo;<samp>jtagchain=UB,UA,BB,BA</samp>&rsquo;</code></dt>
<dd><p>Setup the JTAG scan chain for <var>UB</var> units before, <var>UA</var> units
after, <var>BB</var> bits before, and <var>BA</var> bits after the target AVR,
respectively.
Each AVR unit within the chain shifts by 4 bits.
Other JTAG units might require a different bit shift count.
</p></dd>
</dl>
</dd>
<dt><code>AVR910</code></dt>
<dd>
<p>The AVR910 programmer type accepts the following extended parameter:
</p><dl compact="compact">
<dt><code>&lsquo;<samp>devcode=VALUE</samp>&rsquo;</code></dt>
<dd><p>Override the device code selection by using <var>VALUE</var>
as the device code.
The programmer is not queried for the list of supported
device codes, and the specified <var>VALUE</var>
is not verified but used directly within the
<code>T</code> command sent to the programmer.
<var>VALUE</var> can be specified using the conventional number notation of the
C programming language.
</p></dd>
<dt><code>&lsquo;<samp>no_blockmode</samp>&rsquo;</code></dt>
<dd><p>Disables the default checking for block transfer capability.
Use
&lsquo;<samp>no_blockmode</samp>&rsquo; only if your &lsquo;<samp>AVR910</samp>&rsquo;
programmer creates errors during initial sequence.
</p></dd>
</dl>
</dd>
<dt><code>Arduino</code></dt>
<dd>
<p>The Arduino programmer type accepts the following extended parameter:
</p><dl compact="compact">
<dt><code>&lsquo;<samp>attemps=VALUE</samp>&rsquo;</code></dt>
<dd><p>Overide the default number of connection retry attempt by using <var>VALUE</var>.
</p></dd>
</dl>
</dd>
<dt><code>BusPirate</code></dt>
<dd>
<p>The BusPirate programmer type accepts the following extended parameters:
</p><dl compact="compact">
<dt><code>&lsquo;<samp>reset=cs,aux,aux2</samp>&rsquo;</code></dt>
<dd><p>The default setup assumes the BusPirate&rsquo;s CS output pin connected to
the RESET pin on AVR side. It is however possible to have multiple AVRs
connected to the same BP with MISO, MOSI and SCK lines common for all of them.
In such a case one AVR should have its RESET connected to BusPirate&rsquo;s
<em>CS</em>
pin, second AVR&rsquo;s RESET connected to BusPirate&rsquo;s
<em>AUX</em>
pin and if your BusPirate has an
<em>AUX2</em>
pin (only available on BusPirate version v1a with firmware 3.0 or newer)
use that to activate RESET on the third AVR.
</p>
<p>It may be a good idea to decouple the BusPirate and the AVR&rsquo;s SPI buses from
each other using a 3-state bus buffer. For example 74HC125 or 74HC244 are some
good candidates with the latches driven by the appropriate reset pin (cs,
aux or aux2). Otherwise the SPI traffic in one active circuit may interfere
with programming the AVR in the other design.
</p>
</dd>
<dt><code>&lsquo;<samp>spifreq=<var>0..7</var></samp>&rsquo;</code></dt>
<dd><table>
<tr><td width="5%"><code>0</code></td><td width="30%">30 kHz (default)</td></tr>
<tr><td width="5%"><code>1</code></td><td width="30%">125 kHz</td></tr>
<tr><td width="5%"><code>2</code></td><td width="30%">250 kHz</td></tr>
<tr><td width="5%"><code>3</code></td><td width="30%">1 MHz</td></tr>
<tr><td width="5%"><code>4</code></td><td width="30%">2 MHz</td></tr>
<tr><td width="5%"><code>5</code></td><td width="30%">2.6 MHz</td></tr>
<tr><td width="5%"><code>6</code></td><td width="30%">4 MHz</td></tr>
<tr><td width="5%"><code>7</code></td><td width="30%">8 MHz</td></tr>
</table>
</dd>
<dt><code>&lsquo;<samp>rawfreq=0..3</samp>&rsquo;</code></dt>
<dd><p>Sets the SPI speed and uses the Bus Pirate&rsquo;s binary &ldquo;raw-wire&rdquo; mode instead
of the default binary SPI mode:
</p>
<table>
<tr><td width="5%"><code>0</code></td><td width="30%">5 kHz</td></tr>
<tr><td width="5%"><code>1</code></td><td width="30%">50 kHz</td></tr>
<tr><td width="5%"><code>2</code></td><td width="30%">100 kHz (Firmware v4.2+ only)</td></tr>
<tr><td width="5%"><code>3</code></td><td width="30%">400 kHz (v4.2+)</td></tr>
</table>
<p>The only advantage of the &ldquo;raw-wire&rdquo; mode is that different SPI frequencies
are available. Paged writing is not implemented in this mode.
</p>
</dd>
<dt><code>&lsquo;<samp>ascii</samp>&rsquo;</code></dt>
<dd><p>Attempt to use ASCII mode even when the firmware supports BinMode (binary
mode).
BinMode is supported in firmware 2.7 and newer, older FW&rsquo;s either don&rsquo;t
have BinMode or their BinMode is buggy. ASCII mode is slower and makes
the above
&lsquo;<samp>reset=</samp>&rsquo;, &lsquo;<samp>spifreq=</samp>&rsquo;
and
&lsquo;<samp>rawfreq=</samp>&rsquo;
parameters unavailable. Be aware that ASCII mode is not guaranteed to work
with newer firmware versions, and is retained only to maintain compatibility
with older firmware versions.
</p>
</dd>
<dt><code>&lsquo;<samp>nopagedwrite</samp>&rsquo;</code></dt>
<dd><p>Firmware versions 5.10 and newer support a binary mode SPI command that enables
whole pages to be written to AVR flash memory at once, resulting in a
significant write speed increase. If use of this mode is not desirable for some
reason, this option disables it.
</p>
</dd>
<dt><code>&lsquo;<samp>nopagedread</samp>&rsquo;</code></dt>
<dd><p>Newer firmware versions support in binary mode SPI command some AVR Extended
Commands. Using the &ldquo;Bulk Memory Read from Flash&rdquo; results in a
significant read speed increase. If use of this mode is not desirable for some
reason, this option disables it.
</p>
</dd>
<dt><code>&lsquo;<samp>cpufreq=<var>125..4000</var></samp>&rsquo;</code></dt>
<dd><p>This sets the <em>AUX</em> pin to output a frequency of <var>n</var> kHz. Connecting
the <em>AUX</em> pin to the XTAL1 pin of your MCU, you can provide it a clock,
for example when it needs an external clock because of wrong fuses settings.
Make sure the CPU frequency is at least four times the SPI frequency.
</p>
</dd>
<dt><code>&lsquo;<samp>serial_recv_timeout=<var>1...</var></samp>&rsquo;</code></dt>
<dd><p>This sets the serial receive timeout to the given value.
The timeout happens every time avrdude waits for the BusPirate prompt.
Especially in ascii mode this happens very often, so setting a smaller value
can speed up programming a lot.
The default value is 100ms. Using 10ms might work in most cases.
</p>
</dd>
</dl>
</dd>
<dt><code>Micronucleus bootloader</code></dt>
<dd>
<p>When using the Micronucleus programmer type, the
following optional extended parameter is accepted:
</p><dl compact="compact">
<dt><code>&lsquo;<samp>wait=<var>timeout</var></samp>&rsquo;</code></dt>
<dd><p>If the device is not connected, wait for the device to be plugged in.
The optional <var>timeout</var> specifies the connection time-out in seconds.
If no time-out is specified, AVRDUDE will wait indefinitely until the
device is plugged in.
</p></dd>
</dl>
</dd>
<dt><code>Teensy bootloader</code></dt>
<dd>
<p>When using the Teensy programmer type, the
following optional extended parameter is accepted:
</p><dl compact="compact">
<dt><code>&lsquo;<samp>wait=<var>timeout</var></samp>&rsquo;</code></dt>
<dd><p>If the device is not connected, wait for the device to be plugged in.
The optional <var>timeout</var> specifies the connection time-out in seconds.
If no time-out is specified, AVRDUDE will wait indefinitely until the
device is plugged in.
</p></dd>
</dl>
</dd>
<dt><code>Wiring</code></dt>
<dd>
<p>When using the Wiring programmer type, the
following optional extended parameter is accepted:
</p><dl compact="compact">
<dt><code>&lsquo;<samp>snooze=<var>0..32767</var></samp>&rsquo;</code></dt>
<dd><p>After performing the port open phase, AVRDUDE will wait/snooze for
<var>snooze</var> milliseconds before continuing to the protocol sync phase.
No toggling of DTR/RTS is performed if <var>snooze</var> &gt; 0.
</p></dd>
</dl>
</dd>
<dt><code>PICkit2</code></dt>
<dd><p>Connection to the PICkit2 programmer:
</p><table>
<tr><td width="5%"><code>(AVR)</code></td><td width="30%"><code>(PICkit2)</code></td></tr>
<tr><td width="5%"><code>RST</code></td><td width="30%"><code>VPP/MCLR (1) </code></td></tr>
<tr><td width="5%"><code>VDD</code></td><td width="30%"><code>VDD Target (2) -- possibly optional if AVR self powered </code></td></tr>
<tr><td width="5%"><code>GND</code></td><td width="30%"><code>GND (3) </code></td></tr>
<tr><td width="5%"><code>MISO</code></td><td width="30%"><code>PGD (4) </code></td></tr>
<tr><td width="5%"><code>SCLK</code></td><td width="30%"><code>PDC (5) </code></td></tr>
<tr><td width="5%"><code>OSI</code></td><td width="30%"><code>AUX (6) </code></td></tr>
</table>
<p>Extended command line parameters:
</p><dl compact="compact">
<dt><code>&lsquo;<samp>clockrate=<var>rate</var></samp>&rsquo;</code></dt>
<dd><p>Sets the SPI clocking rate in Hz (default is 100kHz). Alternately the -B or -i options can be used to set the period.
</p></dd>
<dt><code>&lsquo;<samp>timeout=<var>usb-transaction-timeout</var></samp>&rsquo;</code></dt>
<dd><p>Sets the timeout for USB reads and writes in milliseconds (default is 1500 ms).
</p></dd>
</dl>
</dd>
<dt><code>USBasp</code></dt>
<dd><p>Extended parameters:
</p><dl compact="compact">
<dt><code>&lsquo;<samp>section_config</samp>&rsquo;</code></dt>
<dd><p>Programmer will erase
configuration section with option &rsquo;-e&rsquo; (chip erase),
rather than entire chip.
Only applicable to TPI devices (ATtiny 4/5/9/10/20/40).
</p></dd>
</dl>
</dd>
<dt><code>xbee</code></dt>
<dd><p>Extended parameters:
</p><dl compact="compact">
<dt><code>&lsquo;<samp>xbeeresetpin=<var>1..7</var></samp>&rsquo;</code></dt>
<dd><p>Select the XBee pin <code>DIO&lt;1..7&gt;</code> that is connected to the MCU&rsquo;s
/RESET line. The programmer needs to know which DIO pin to use to
reset into the bootloader. The default (3) is the <code>DIO3</code> pin
(XBee pin 17), but some commercial products use a different XBee
pin.
</p>
<p>The remaining two necessary XBee-to-MCU connections are not selectable
- the XBee <code>DOUT</code> pin (pin 2) must be connected to the MCU&rsquo;s
RXD line, and the XBee <code>DIN</code> pin (pin 3) must be connected to
the MCU&rsquo;s TXD line.
</p></dd>
</dl>
</dd>
<dt><code>serialupdi</code></dt>
<dd><p>Extended parameters:
</p><dl compact="compact">
<dt><code>&lsquo;<samp>rtsdtr=low|high</samp>&rsquo;</code></dt>
<dd><p>Forces RTS/DTR lines to assume low or high state during the whole
programming session. Some programmers might use this signal to
indicate UPDI programming state, but this is strictly hardware
specific.
</p>
<p>When not provided, driver/OS default value will be used.
</p></dd>
</dl>
</dd>
</dl>
<hr>
<table class="header" cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="avrdude_2.html#Command-Line-Options" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="avrdude_3.html#Option-Descriptions" title="Previous section in reading order"> &lt; </a>]</td>
<td valign="middle" align="left">[<a href="avrdude_2.html#Command-Line-Options" title="Up section"> Up </a>]</td>
<td valign="middle" align="left">[<a href="avrdude_5.html#Example-Command-Line-Invocations" title="Next section in reading order"> &gt; </a>]</td>
<td valign="middle" align="left">[<a href="avrdude_6.html#Terminal-Mode-Operation" title="Next chapter"> &gt;&gt; </a>]</td>
</tr></table>
<p>
<font size="-1">
This document was generated on <i>March 3, 2022</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html 5.0</i></a>.
</font>
<br>
</p>
</body>
</html>