Avrdude

avrdude
Скриншот программы avrdude
Вывод Avrdude в терминале после успешной прошивки
Тип Средства разработки
Разработчик Brian S. Dean
Написана на Си[1]
Операционная система Кросс-платформенный
Последняя версия 7.0 (08/05/22)
Репозиторий github.com/avrdudes/avrd…
Состояние Активный
Лицензия GPL
Сайт [1], [2]

AVRDude (AVR Downloader-Uploader) — кроссплатформенная свободная консольная программа, предназначенная для прошивки микроконтроллеров фирмы Atmel серии AVR.

Отличается поддержкой большого числа разнообразных программаторов и микроконтроллеров. Кроме официально поддерживаемых Atmel устройств, сюда входят и самодельные любительские устройства, к примеру популярный программатор USBAsp. Ранее была известна под именем AVRprog[2].


Поддерживаемые программаторы

С помощью опции -c возможен выбор одного из следующих программаторов[источник не указан 2935 дней]:

Опция Описание
abcmini ABCmini Board, aka Dick Smith HOTCHIP
alf Nightshade ALF-PgmAVR, https://web.archive.org/web/20100820024744/http://nightshade.homeip.net/
arduino Arduino board, protocol similar to STK500 1.x
atisp AT-ISP V1.1 programming cable for AVR-SDK1 from, http://micro-research.co.th/
avr109 Atmel AppNote AVR109 Boot Loader
avr910 Atmel Low Cost Serial Programmer
avr911 Atmel AppNote AVR911 AVROSP (an alias for avr109)
avrftdi FTDI MPSSE (FT2232 etc.) bitbang support
avrisp Atmel AVR ISP (an alias for stk500)
avrisp2 Atmel AVR ISP mkII (alias for stk500v2)
avrispmkII Atmel AVR ISP mkII (alias for stk500v2)
avrispv2 Atmel AVR ISP, running a version 2.x firmware (an alias for stk500v2)
bascom Bascom SAMPLE programming cable
blaster Altera ByteBlaster
bsd Brian Dean's Programmer, https://web.archive.org/web/20100209215720/http://www.bsdhome.com/avrdude/
butterfly Atmel Butterfly Development Board
c2n232i C2N232I, reset=dtr sck=!rts mosi=!txd miso=!cts, описание
dapa Direct AVR Parallel Access cable
dasa serial port banging, reset=rts sck=dtr mosi=txd miso=cts, описание
dasa3 serial port banging, reset=!dtr sck=rts mosi=txd miso=cts, описание
dragon_dw AVR Dragon in debugWire mode
dragon_hvsp AVR Dragon in high-voltage serial programming mode
dragon_isp AVR Dragon in ISP mode
dragon_jtag AVR Dragon in JTAG mode
dragon_pp AVR Dragon in (high-voltage) parallel programming mode
dt006 Dontronics DT006
ere-isp-avr ERE ISP-AVR, https://web.archive.org/web/20060603224029/http://www.ere.co.th/download/sch050713.pdf
frank-stk200 Frank's STK200 clone, http://electropol.free.fr/spip/spip.php?article15
futurlec Futurlec.com programming cable
jtag1 Atmel JTAG ICE mkI, running at 115200 Bd
jtag1slow Atmel JTAG ICE mkI, running at 19200 Bd
jtag2slow Atmel JTAG ICE mkII (default speed 19200 Bd)
jtag2,jtag2fast Atmel JTAG ICE mkII, running at 115200 Bd
jtag2isp Atmel JTAG ICE mkII in ISP mode.
jtag2dw Atmel JTAG ICE mkII in debugWire mode.
jtagmkI Atmel JTAG ICE mkI, running at 115200 Bd
jtagmkII Atmel JTAG ICE mkII (default speed 19200 Bd)
mib510 Crossbow MIB510 programming board
pavr Jason Kyle's pAVR Serial Programmer
picoweb Picoweb Programming Cable, http://www.picoweb.net/
pony-stk200 Pony Prog STK200
ponyser design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts
siprog Lancos SI-Prog, http://www.lancos.com/siprogsch.html
sp12 Steve Bolt's Programmer
stk200 STK200
stk500 Atmel STK500, probing for either version 1.x or 2.x firmware
stk500hvsp Atmel STK500 in high-voltage serial programming mode(version 2.x firmware only)
stk500pp Atmel STK500 in parallel programming mode (version 2.xfirmware only)
stk500v1 Atmel STK500, running a version 1.x firmware
stk500v2 Atmel STK500, running a version 2.x firmware
stk600 Atmel STK600 in ISP mode, or in PDI mode for ATxmega devices
stk600hvsp Atmel STK600 in high-voltage serial programming mode
stk600pp Atmel STK600 in parallel programming mode
usbasp USBasp, http://www.fischl.de/usbasp/ , http://easyelectronics.ru/usb-programmator-avr-usbasp.html
usbtiny USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/
xil Xilinx JTAG cable


Примеры использования
Считываем данные из Flash-памяти микроконтроллера ATmega8 и сохраняем их в файл /home/nixuser/m8_flash_dump.hex, формат данных для сохранения — Intel HEX. Для работы используем USB-программатор USBAsp, также просим программу выводить больше отладочной информации:
avrdude -p m8 -c usbasp -P usb -v -U flash:r:/home/nixuser/m8_flash_dump.hex:i
Выполним чтение данных из памяти EEPROM микроконтроллера ATmega32, сохраним эти данные в файл c:\temp\m32_eeprom.raw используя формат данных — RAW. Для работы используем программатор USBTiny:
avrdude -p m32 -c usbtiny -U eeprom:r:"c:\temp\m32_eeprom.raw":r
Выполним запись данных из файла /home/nixuser/dump_m8.hex во Flash-память микроконтроллера ATtiny13, используем программатор STK500:
avrdude -p t13 -c stk500 -U flash:w:/home/nixuser/dump_m8.hex
Выполним при помощи одной команды запись данных во Flash и EEPROM память микроконтроллера ATtiny13 используя как источники данных файлы flash_dada.hex и eeprom_data.hex, для работы используется программатор USBasp:
avrdude -p t13 -c usbasp -U flash:w:"c:\temp\flash_dada.hex" -U eeprom:w:"c:\temp\eeprom_data.hex"
Выполним чтение значений Fuse-битов микроконтроллера ATtiny13 с последующи сохранением данных в файлы hfuse.txt и lfuse.txt, формат файла для сохранения — Intel HEX. Для операции используем программатор USBasp:
avrdude -p t13 -c usbasp -U hfuse:r:hfuse.txt:h -U lfuse:r:lfuse.txt:h
Выполним установку Fuse-битов в микроконтроллере ATmega16 при помощи программатора USBasp. Значение младшего fuse-байта = 0xe1, а значение старшего fuse-байта = 0x99:
avrdude -p m16 -c usbasp  -U lfuse:w:0xe1:m -U hfuse:w:0x99:m

Примечания

  1. https://www.openhub.net/p/avrdude/analyses/latest/languages_summary
  2. Trevennor, 2012, p. 40.

Литература

  • Trevennor, Alan. Practical AVR Microcontrollers: Games, Gadgets, and Home Automation with the Microcontroller Used in the Arduino. — Apress, 2012. — 416 с. — (Technology in Action). — ISBN 978-1430244462.
  • Williams, Elliot. Make: AVR Programming. — Maker Media, Inc, 2014. — 472 с. — ISBN 978-1449355784.

Ссылки

  • Сайт программы (англ.)
  • Официальная документация (англ.)
  • Документация на русском языке и примеры использования
  • Обзор на avrprojects.net (недоступная ссылка — история)
  • Обзор на ladyada.net (англ.)
Перейти к шаблону «Микроконтроллеры»
Архитектура
8 бит
  • MCS-51
  • MCS-48
  • PIC
  • AVR
  • Z8
  • H8
  • COP8
  • 68HC08
  • 68HC11
16 бит
  • MSP430
  • MCS-96
  • MCS-296
  • PIC24
  • MAXQ
  • Nios
  • 68HC12
  • 68HC16
  • CR16/C
32 бита
  • RISC-V
  • ARM
  • MIPS
  • AVR32
  • PIC32
  • 683XX
  • M32R
  • SuperH
  • Nios II
  • Am29000
  • LatticeMico32
  • MPC5xx
  • PowerQUICC
  • Parallax Propeller
Микросхемы фирмы ST в DIP14 корпусе
Производители
Компоненты
Периферия
Интерфейсы
ОС
Программирование