Avrdude
| avrdude | |
|---|---|
![]() Вывод Avrdude в терминале после успешной прошивки | |
| Тип | Средства разработки |
| Разработчик | Brian S. Dean |
| Написана на | Си[1] |
| Операционная система | Кросс-платформенный |
| Последняя версия | 7.0 (08/05/22) |
| Репозиторий | github.com/avrdudes/avrd… |
| Состояние | Активный |
| Лицензия | GPL |
| Сайт | , |
AVRDude (AVR Downloader-Uploader) — кроссплатформенная свободная консольная программа, предназначенная для прошивки микроконтроллеров фирмы Atmel серии AVR.
Отличается поддержкой большого числа разнообразных программаторов и микроконтроллеров. Кроме официально поддерживаемых Atmel устройств, сюда входят и самодельные любительские устройства, к примеру популярный программатор USBAsp. Ранее была известна под именем AVRprog[2].
Поддерживаемые программаторы
С помощью опции -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, также просим программу выводить больше отладочной информации:Выполним чтение данных из памяти EEPROM микроконтроллера ATmega32, сохраним эти данные в файл c:\temp\m32_eeprom.raw используя формат данных — RAW. Для работы используем программатор USBTiny:Выполним запись данных из файла /home/nixuser/dump_m8.hex во Flash-память микроконтроллера ATtiny13, используем программатор STK500:Выполним при помощи одной команды запись данных во Flash и EEPROM память микроконтроллера ATtiny13 используя как источники данных файлы flash_dada.hex и eeprom_data.hex, для работы используется программатор USBasp:Выполним чтение значений Fuse-битов микроконтроллера ATtiny13 с последующи сохранением данных в файлы hfuse.txt и lfuse.txt, формат файла для сохранения — Intel HEX. Для операции используем программатор USBasp:Выполним установку Fuse-битов в микроконтроллере ATmega16 при помощи программатора USBasp. Значение младшего fuse-байта = 0xe1, а значение старшего fuse-байта = 0x99:
avrdude -p m8 -c usbasp -P usb -v -U flash:r:/home/nixuser/m8_flash_dump.hex:i
avrdude -p m32 -c usbtiny -U eeprom:r:"c:\temp\m32_eeprom.raw":r
avrdude -p t13 -c stk500 -U flash:w:/home/nixuser/dump_m8.hex
avrdude -p t13 -c usbasp -U flash:w:"c:\temp\flash_dada.hex" -U eeprom:w:"c:\temp\eeprom_data.hex"
avrdude -p t13 -c usbasp -U hfuse:r:hfuse.txt:h -U lfuse:r:lfuse.txt:h
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 (англ.)
