Avrdude
AVRDude (AVR Downloader-Uploader) — кроссплатформенная свободная консольная программа, предназначенная для прошивки микроконтроллеров фирмы Atmel серии AVR.
avrdude | |
---|---|
| |
Тип | Средства разработки |
Разработчик | Brian S. Dean |
Написана на | Си[1] |
Операционная система | Кросс-платформенный |
Последняя версия |
|
Состояние | Активный |
Лицензия | GPL |
Сайт | , |
Отличается поддержкой большого числа разнообразных программаторов и микроконтроллеров. Кроме официально поддерживаемых Atmel устройств, сюда входят и самодельные любительские устройства, к примеру популярный программатор USBAsp. Ранее была известна под именем AVRprog[3].
Поддерживаемые программаторы
С помощью опции -c возможен выбор одного из следующих программаторов:
Опция | Описание |
---|---|
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.
Ссылки
- Сайт программы (англ.)
- Официальная документация (англ.)
- Документация на русском языке и примеры использования
- Обзор на avrprojects.net (недоступная ссылка — история)
- Обзор на ladyada.net (англ.)