Avrdude

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

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

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

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

[править | править код]

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

Опция Описание
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

Примечания

[править | править код]

Литература

[править | править код]
  • 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.