Avrdude

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

avrdude

Вывод Avrdude в терминале после успешной прошивки
Тип Средства разработки
Разработчик Brian S. Dean
Написана на Си[1]
Операционная система Кросс-платформенный
Последняя версия
Состояние Активный
Лицензия GPL
Сайт ,

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

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

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

ОпцияОписание
abcminiABCmini Board, aka Dick Smith HOTCHIP
alfNightshade ALF-PgmAVR, https://web.archive.org/web/20100820024744/http://nightshade.homeip.net/
arduinoArduino board, protocol similar to STK500 1.x
atispAT-ISP V1.1 programming cable for AVR-SDK1 from, http://micro-research.co.th/
avr109Atmel AppNote AVR109 Boot Loader
avr910Atmel Low Cost Serial Programmer
avr911Atmel AppNote AVR911 AVROSP (an alias for avr109)
avrftdiFTDI MPSSE (FT2232 etc.) bitbang support
avrispAtmel AVR ISP (an alias for stk500)
avrisp2Atmel AVR ISP mkII (alias for stk500v2)
avrispmkIIAtmel AVR ISP mkII (alias for stk500v2)
avrispv2Atmel AVR ISP, running a version 2.x firmware (an alias for stk500v2)
bascomBascom SAMPLE programming cable
blasterAltera ByteBlaster
bsdBrian Dean's Programmer, https://web.archive.org/web/20100209215720/http://www.bsdhome.com/avrdude/
butterflyAtmel Butterfly Development Board
c2n232iC2N232I, reset=dtr sck=!rts mosi=!txd miso=!cts, описание
dapaDirect AVR Parallel Access cable
dasaserial port banging, reset=rts sck=dtr mosi=txd miso=cts, описание
dasa3serial port banging, reset=!dtr sck=rts mosi=txd miso=cts, описание
dragon_dwAVR Dragon in debugWire mode
dragon_hvspAVR Dragon in high-voltage serial programming mode
dragon_ispAVR Dragon in ISP mode
dragon_jtagAVR Dragon in JTAG mode
dragon_ppAVR Dragon in (high-voltage) parallel programming mode
dt006Dontronics DT006
ere-isp-avrERE ISP-AVR, https://web.archive.org/web/20060603224029/http://www.ere.co.th/download/sch050713.pdf
frank-stk200Frank's STK200 clone, http://electropol.free.fr/spip/spip.php?article15
futurlecFuturlec.com programming cable
jtag1Atmel JTAG ICE mkI, running at 115200 Bd
jtag1slowAtmel JTAG ICE mkI, running at 19200 Bd
jtag2slowAtmel JTAG ICE mkII (default speed 19200 Bd)
jtag2,jtag2fastAtmel JTAG ICE mkII, running at 115200 Bd
jtag2ispAtmel JTAG ICE mkII in ISP mode.
jtag2dwAtmel JTAG ICE mkII in debugWire mode.
jtagmkIAtmel JTAG ICE mkI, running at 115200 Bd
jtagmkIIAtmel JTAG ICE mkII (default speed 19200 Bd)
mib510Crossbow MIB510 programming board
pavrJason Kyle's pAVR Serial Programmer
picowebPicoweb Programming Cable, http://www.picoweb.net/
pony-stk200Pony Prog STK200
ponyserdesign ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts
siprogLancos SI-Prog, http://www.lancos.com/siprogsch.html
sp12Steve Bolt's Programmer
stk200STK200
stk500Atmel STK500, probing for either version 1.x or 2.x firmware
stk500hvspAtmel STK500 in high-voltage serial programming mode(version 2.x firmware only)
stk500ppAtmel STK500 in parallel programming mode (version 2.xfirmware only)
stk500v1Atmel STK500, running a version 1.x firmware
stk500v2Atmel STK500, running a version 2.x firmware
stk600Atmel STK600 in ISP mode, or in PDI mode for ATxmega devices
stk600hvspAtmel STK600 in high-voltage serial programming mode
stk600ppAtmel STK600 in parallel programming mode
usbaspUSBasp, http://www.fischl.de/usbasp/ , http://easyelectronics.ru/usb-programmator-avr-usbasp.html
usbtinyUSBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/
xilXilinx 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

Примечания

Литература

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.