[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2 Programmer Definitions

The format of the programmer definition is as follows:

 
programmer
    parent <id>                              # optional parent
    id       = <id1> [, <id2> ... ];         # <idN> are quoted strings
    desc     = <description>;                # quoted string
    type     = <type>;                       # programmer type, quoted string
                                             # list known types with -c ?type
    prog_modes = PM_<i/f> {| PM_<i/f>}       # interfaces, e.g., PM_SPM|PM_PDI (1)
    is_serialadapter = <yes|no>              # programmer is also a serialadapter
    extra_features = HAS_<fea> {| HAS_<fea>}  # extra features, e.g., HAS_SUFFER (2)
    connection_type = parallel | serial | usb | spi
    baudrate = <num>;                        # baudrate for avr910-programmer
    vcc      = <pin1> [, <pin2> ... ];       # pin number(s) (3)
    buff     = <pin1> [, <pin2> ... ];       # pin number(s)
    reset    = <pin>;                        # pin number
    sck      = <pin>;                        # pin number
    sdo|pico = <pin>;                        # pin number
    sdi|poci = <pin>;                        # pin number
    tck      = <pin>;                        # pin number
    tdi      = <pin>;                        # pin number
    tdo      = <pin>;                        # pin number
    tms      = <pin>;                        # pin number
    errled   = <pin>;                        # pin number
    rdyled   = <pin>;                        # pin number
    pgmled   = <pin>;                        # pin number
    vfyled   = <pin>;                        # pin number
    usbvid   = <hexnum>;                     # USB vendor ID
    usbpid   = <hexnum> [, <hexnum> ...];    # USB product ID (4)
    usbdev   = <interface>;                  # USB interface or other device info
    usbvendor = <vendorname>;                # USB Vendor Name
    usbproduct = <productname>;              # USB Product Name
    usbsn    = <serialno>;                   # USB Serial Number
    hvupdi_support = <num> [, <num>, ... ];  # UPDI HV Variants Support
;

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.

Notes

  1. Known programming modes are
  2. The following extra programmer features are known
  3. To invert the polarity of a pin, use a tilde ~<num>; to invert the polarity of all pins in a list use ~(<num1> [, <num2> ... ])
  4. Not all programmer types can handle a list of USB PIDs

The following programmer types are currently implemented:

arduinoArduino programmer for bootloading
avr910Serial programmer using protocol from appnote AVR910
avrftdiInterface to the MPSSE Engine of FTDI chips using libftdi
avrftdi_jtaglibftdi JTAG interface
buspirateBus Pirate’s SPI interface
buspirate_bbBus Pirate’s bitbang interface
butterflyAtmel Butterfly evaluation board (AVR109, AVR911)
butterfly_mkMikrokopter.de Butterfly
ch341aChip CH341A: AVR must have min F_CPU of 6.8 MHz
dryrunDryrun programmer for testing avrdude
dragon_dwAtmel AVR Dragon in debugWire mode
dragon_hvspAtmel AVR Dragon in HVSP mode
dragon_ispAtmel AVR Dragon in ISP mode
dragon_jtagAtmel AVR Dragon in JTAG mode
dragon_pdiAtmel AVR Dragon in PDI mode
dragon_ppAtmel AVR Dragon in PP mode
flip1FLIP USB DFU protocol version 1 (doc7618)
flip2FLIP USB DFU protocol version 2 (AVR4023)
ftdi_syncbbFT245R/FT232R synchronous bit-bang programmer
jtagmkiAtmel JTAG ICE mkI
jtagmkiiAtmel JTAG ICE mkII
jtagmkii_avr32Atmel JTAG ICE mkII in AVR32 mode
jtagmkii_dwAtmel JTAG ICE mkII in debugWire mode
jtagmkii_ispAtmel JTAG ICE mkII in ISP mode
jtagmkii_pdiAtmel JTAG ICE mkII in PDI mode
jtagmkii_updiAtmel JTAG ICE mkII in UPDI mode
jtagice3Atmel JTAGICE3
jtagice3_pdiAtmel JTAGICE3 in PDI mode
jtagice3_updiAtmel JTAGICE3 in UPDI mode
jtagice3_dwAtmel JTAGICE3 in debugWire mode
jtagice3_ispAtmel JTAGICE3 in ISP mode
jtagice3_tpiAtmel JTAGICE3 in TPI mode
linuxgpioGPIO bitbanging using the Linux libgpiod or sysfs interface (not available)
linuxspiSPI using Linux spidev driver (not available)
micronucleusMicronucleus Bootloader
parParallel port bitbanging
pickit2Microchip’s PICkit2 Programmer
pickit5_updiMicrochip’s PICkit 5 Programmer/Debugger
serbbSerial port bitbanging
serialupdiDriver for SerialUPDI programmers
serprogProgram via the Serprog protocol from Flashrom
stk500Atmel STK500 Version 1.x firmware
stk500genericAtmel STK500, autodetect firmware version
stk500v2Atmel STK500 Version 2.x firmware
stk500hvspAtmel STK500 V2 in high-voltage serial programming mode
stk500ppAtmel STK500 V2 in parallel programming mode
stk600Atmel STK600
stk600hvspAtmel STK600 in high-voltage serial programming mode
stk600ppAtmel STK600 in parallel programming mode
teensyTeensy Bootloader
urclockUrclock programmer for urboot bootloaders (arduino compatible)
usbaspUSBasp programmer, see http://www.fischl.de/usbasp/
usbtinyUsbtiny programmer (also as bootloading protocol)
wiringBootloader using the STK500v2 protocol (AVR068)
xbeeXBee Series 2 Over-The-Air (XBeeBoot)

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Stefan Rueger on August 24, 2024 using texi2html 1.82.