2022-03-06 23:09:47 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
< html >
2022-03-16 22:22:14 +00:00
<!-- Created on March 16, 2022 by texi2html 5.0
2022-03-06 23:09:47 +00:00
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: 4.2 Programmer Definitions< / title >
< meta name = "description" content = "AVRDUDE: 4.2 Programmer Definitions" >
< meta name = "keywords" content = "AVRDUDE: 4.2 Programmer Definitions" >
< 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}
2022-03-16 22:22:14 +00:00
body { background-color: #ffd; }
h1 { text-shadow: .05em .05em #ccc; }
table {
border: 3px solid #ccf;
background-color: white;
}
div.example {
background-color: #dfd;
border: 3px solid #cfc;
}
samp {
color: blue;
}
code {
color: green;
}
2022-03-06 23:09:47 +00:00
-->
< / style >
< / head >
< body lang = "en" bgcolor = "#FFFFFF" text = "#000000" link = "#0000FF" vlink = "#800080" alink = "#FF0000" >
< a name = "Programmer-Definitions" > < / a >
< table class = "header" cellpadding = "1" cellspacing = "1" border = "0" >
< tr > < td valign = "middle" align = "left" > [< a href = "avrdude_9.html#Configuration-File" title = "Beginning of this chapter or previous chapter" > < < < / a > ]< / td >
< td valign = "middle" align = "left" > [< a href = "avrdude_10.html#AVRDUDE-Defaults" title = "Previous section in reading order" > < < / a > ]< / td >
< td valign = "middle" align = "left" > [< a href = "avrdude_9.html#Configuration-File" title = "Up section" > Up < / a > ]< / td >
< td valign = "middle" align = "left" > [< a href = "avrdude_12.html#Part-Definitions" title = "Next section in reading order" > > < / a > ]< / td >
2022-03-16 22:22:14 +00:00
< td valign = "middle" align = "left" > [< a href = "avrdude_16.html#Programmer-Specific-Information" title = "Next chapter" > > > < / a > ]< / td >
2022-03-06 23:09:47 +00:00
< td valign = "middle" align = "left" > < / td >
< td valign = "middle" align = "left" > < / td >
< td valign = "middle" align = "left" > < / td >
< td valign = "middle" align = "left" > < / 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 >
2022-03-16 22:22:14 +00:00
< hr >
2022-03-06 23:09:47 +00:00
< a name = "Programmer-Definitions-1" > < / a >
< h2 class = "section" > 4.2 Programmer Definitions< / h2 >
< p > The format of the programmer definition is as follows:
< / p >
< div class = "smallexample" >
< pre class = "smallexample" > programmer
parent < id> # < id> is a quoted string
id = < id1> [, < id2> [, < id3> ] ...] ; # < idN> are quoted strings
desc = < description> ; # quoted string
type = " par" | " stk500" | ... ; # programmer type (see below for a list)
baudrate = < num> ; # baudrate for serial ports
vcc = < num1> [, < num2> ... ] ; # pin number(s)
buff = < num1> [, < num2> ... ] ; # pin number(s)
reset = < num> ; # pin number
sck = < num> ; # pin number
mosi = < num> ; # pin number
miso = < num> ; # pin number
errled = < num> ; # pin number
rdyled = < num> ; # pin number
pgmled = < num> ; # pin number
vfyled = < num> ; # pin number
usbvid = < hexnum> ; # USB VID (Vendor ID)
usbpid = < hexnum> [, < hexnum> ...]; # USB PID (Product ID)
usbdev = < interface> ; # USB interface or other device info
usbvendor = < vendorname> ; # USB Vendor Name
usbproduct = < productname> ; # USB Product Name
usbsn = < serialno> ; # USB Serial Number
;
< / pre > < / div >
< p > If a parent is specified, all settings of it (except its ids) are used for the new
programmer. These values can be changed by new setting them for the new programmer.
< / p >
< p > To invert a bit in the pin definitions, use < code > = ~ < num> < / code > .
< / p >
< p > Not all programmer types can handle a list of USB PIDs.
< / p >
< p > Following programmer types are currently implemented:
< / p >
< table >
< tr > < td width = "25%" > < code > arduino< / code > < / td > < td width = "60%" > Arduino programmer< / td > < / tr >
< tr > < td width = "25%" > < code > avr910< / code > < / td > < td width = "60%" > Serial programmers using protocol described in application note AVR910< / td > < / tr >
< tr > < td width = "25%" > < code > avrftdi< / code > < / td > < td width = "60%" > Interface to the MPSSE Engine of FTDI Chips using libftdi.< / td > < / tr >
< tr > < td width = "25%" > < code > buspirate< / code > < / td > < td width = "60%" > Using the Bus Pirate’ s SPI interface for programming< / td > < / tr >
< tr > < td width = "25%" > < code > buspirate_bb< / code > < / td > < td width = "60%" > Using the Bus Pirate’ s bitbang interface for programming< / td > < / tr >
< tr > < td width = "25%" > < code > butterfly< / code > < / td > < td width = "60%" > Atmel Butterfly evaluation board; Atmel AppNotes AVR109, AVR911< / td > < / tr >
< tr > < td width = "25%" > < code > butterfly_mk< / code > < / td > < td width = "60%" > Mikrokopter.de Butterfly< / td > < / tr >
< tr > < td width = "25%" > < code > dragon_dw< / code > < / td > < td width = "60%" > Atmel AVR Dragon in debugWire mode< / td > < / tr >
< tr > < td width = "25%" > < code > dragon_hvsp< / code > < / td > < td width = "60%" > Atmel AVR Dragon in HVSP mode< / td > < / tr >
< tr > < td width = "25%" > < code > dragon_isp< / code > < / td > < td width = "60%" > Atmel AVR Dragon in ISP mode< / td > < / tr >
< tr > < td width = "25%" > < code > dragon_jtag< / code > < / td > < td width = "60%" > Atmel AVR Dragon in JTAG mode< / td > < / tr >
< tr > < td width = "25%" > < code > dragon_pdi< / code > < / td > < td width = "60%" > Atmel AVR Dragon in PDI mode< / td > < / tr >
< tr > < td width = "25%" > < code > dragon_pp< / code > < / td > < td width = "60%" > Atmel AVR Dragon in PP mode< / td > < / tr >
< tr > < td width = "25%" > < code > flip1< / code > < / td > < td width = "60%" > FLIP USB DFU protocol version 1 (doc7618)< / td > < / tr >
< tr > < td width = "25%" > < code > flip2< / code > < / td > < td width = "60%" > FLIP USB DFU protocol version 2 (AVR4023)< / td > < / tr >
< tr > < td width = "25%" > < code > ftdi_syncbb< / code > < / td > < td width = "60%" > FT245R/FT232R Synchronous BitBangMode Programmer< / td > < / tr >
< tr > < td width = "25%" > < code > jtagmki< / code > < / td > < td width = "60%" > Atmel JTAG ICE mkI< / td > < / tr >
< tr > < td width = "25%" > < code > jtagmkii< / code > < / td > < td width = "60%" > Atmel JTAG ICE mkII< / td > < / tr >
< tr > < td width = "25%" > < code > jtagmkii_avr32< / code > < / td > < td width = "60%" > Atmel JTAG ICE mkII in AVR32 mode< / td > < / tr >
< tr > < td width = "25%" > < code > jtagmkii_dw< / code > < / td > < td width = "60%" > Atmel JTAG ICE mkII in debugWire mode< / td > < / tr >
< tr > < td width = "25%" > < code > jtagmkii_isp< / code > < / td > < td width = "60%" > Atmel JTAG ICE mkII in ISP mode< / td > < / tr >
< tr > < td width = "25%" > < code > jtagmkii_pdi< / code > < / td > < td width = "60%" > Atmel JTAG ICE mkII in PDI mode< / td > < / tr >
< tr > < td width = "25%" > < code > jtagice3< / code > < / td > < td width = "60%" > Atmel JTAGICE3< / td > < / tr >
< tr > < td width = "25%" > < code > jtagice3_pdi< / code > < / td > < td width = "60%" > Atmel JTAGICE3 in PDI mode< / td > < / tr >
< tr > < td width = "25%" > < code > jtagice3_updi< / code > < / td > < td width = "60%" > Atmel JTAGICE3 in UPDI mode< / td > < / tr >
< tr > < td width = "25%" > < code > jtagice3_dw< / code > < / td > < td width = "60%" > Atmel JTAGICE3 in debugWire mode< / td > < / tr >
< tr > < td width = "25%" > < code > jtagice3_isp< / code > < / td > < td width = "60%" > Atmel JTAGICE3 in ISP mode< / td > < / tr >
< tr > < td width = "25%" > < code > linuxgpio< / code > < / td > < td width = "60%" > GPIO bitbanging using the Linux sysfs interface (not available)< / td > < / tr >
< tr > < td width = "25%" > < code > linuxspi< / code > < / td > < td width = "60%" > SPI using Linux spidev driver (not available)< / td > < / tr >
< tr > < td width = "25%" > < code > micronucleus< / code > < / td > < td width = "60%" > Micronucleus Bootloader< / td > < / tr >
< tr > < td width = "25%" > < code > par< / code > < / td > < td width = "60%" > Parallel port bitbanging< / td > < / tr >
< tr > < td width = "25%" > < code > pickit2< / code > < / td > < td width = "60%" > Microchip’ s PICkit2 Programmer< / td > < / tr >
< tr > < td width = "25%" > < code > serbb< / code > < / td > < td width = "60%" > Serial port bitbanging< / td > < / tr >
< tr > < td width = "25%" > < code > serialupdi< / code > < / td > < td width = "60%" > Driver for SerialUPDI programmers< / td > < / tr >
< tr > < td width = "25%" > < code > stk500< / code > < / td > < td width = "60%" > Atmel STK500 Version 1.x firmware< / td > < / tr >
< tr > < td width = "25%" > < code > stk500generic< / code > < / td > < td width = "60%" > Atmel STK500, autodetect firmware version< / td > < / tr >
< tr > < td width = "25%" > < code > stk500v2< / code > < / td > < td width = "60%" > Atmel STK500 Version 2.x firmware< / td > < / tr >
< tr > < td width = "25%" > < code > stk500hvsp< / code > < / td > < td width = "60%" > Atmel STK500 V2 in high-voltage serial programming mode< / td > < / tr >
< tr > < td width = "25%" > < code > stk500pp< / code > < / td > < td width = "60%" > Atmel STK500 V2 in parallel programming mode< / td > < / tr >
< tr > < td width = "25%" > < code > stk600< / code > < / td > < td width = "60%" > Atmel STK600< / td > < / tr >
< tr > < td width = "25%" > < code > stk600hvsp< / code > < / td > < td width = "60%" > Atmel STK600 in high-voltage serial programming mode< / td > < / tr >
< tr > < td width = "25%" > < code > stk600pp< / code > < / td > < td width = "60%" > Atmel STK600 in parallel programming mode< / td > < / tr >
< tr > < td width = "25%" > < code > teensy< / code > < / td > < td width = "60%" > Teensy Bootloader< / td > < / tr >
< tr > < td width = "25%" > < code > usbasp< / code > < / td > < td width = "60%" > USBasp programmer, see http://www.fischl.de/usbasp/< / td > < / tr >
< tr > < td width = "25%" > < code > usbtiny< / code > < / td > < td width = "60%" > Driver for " usbtiny" -type programmers< / td > < / tr >
< tr > < td width = "25%" > < code > wiring< / code > < / td > < td width = "60%" > http://wiring.org.co/, Basically STK500v2 protocol, with some glue to trigger the bootloader.< / td > < / tr >
< tr > < td width = "25%" > < code > xbee< / code > < / td > < td width = "60%" > XBee Series 2 Over-The-Air (XBeeBoot)< / td > < / tr >
< / table >
< hr >
< table class = "header" cellpadding = "1" cellspacing = "1" border = "0" >
< tr > < td valign = "middle" align = "left" > [< a href = "avrdude_9.html#Configuration-File" title = "Beginning of this chapter or previous chapter" > < < < / a > ]< / td >
< td valign = "middle" align = "left" > [< a href = "avrdude_10.html#AVRDUDE-Defaults" title = "Previous section in reading order" > < < / a > ]< / td >
< td valign = "middle" align = "left" > [< a href = "avrdude_9.html#Configuration-File" title = "Up section" > Up < / a > ]< / td >
< td valign = "middle" align = "left" > [< a href = "avrdude_12.html#Part-Definitions" title = "Next section in reading order" > > < / a > ]< / td >
2022-03-16 22:22:14 +00:00
< td valign = "middle" align = "left" > [< a href = "avrdude_16.html#Programmer-Specific-Information" title = "Next chapter" > > > < / a > ]< / td >
< td valign = "middle" align = "left" > < / td >
< td valign = "middle" align = "left" > < / td >
< td valign = "middle" align = "left" > < / td >
< td valign = "middle" align = "left" > < / 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 >
2022-03-06 23:09:47 +00:00
< / tr > < / table >
< p >
< font size = "-1" >
2022-03-16 22:22:14 +00:00
This document was generated on < i > March 16, 2022< / i > using < a href = "http://www.nongnu.org/texi2html/" > < i > texi2html 5.0< / i > < / a > .
2022-03-06 23:09:47 +00:00
< / font >
< br >
< / p >
< / body >
< / html >