AVRDUDE Windows
AVRDUDE (http://www.nongnu.org/avrdude/) - мощная программа для прошивки микроконтроллеров Atmel серии AVR. Разработчик Brian S. Dean. Программа поддерживает множество программаторов. AVRDUDE кросплатформенная. Многих, особенно начинающих, пугает тот факт, что программа консольная, и использовать ее нужно с командной строки. И напрасно, ничего сложного в этом нет.
Большинство "оконного" ПО, которое я опробовал, было убогим. Кажущаяся простота графического интерфейса не позволяла в полной мере работать с микроконтроллером. Кроме того, для каждого программатора (железяки), требовалась своя программа-программатор. Часто случалось, что ПО программатора не поддерживает нужный мне микроконтроллер. Все это породило массу неудобств. Эти проблемы ушли после перехода на AVRDUDE. AVRDUDE поддерживает огромное количество программаторов, работающих по параллельному порту (LPT), последовательному порту, USB-программаторы. Теперь у меня один AVRDUDE на все 3 вида используемых программаторов (см. Программаторы микроконтроллеров AVR).
СКАЧАТЬ AVRDUDE. 5.11 для Windows
Список поддерживаемых программаторов
FT2232D based generic programmer FT2232H based generic programmer FT232H based module from FTDI and Glyn.com.au Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2 Atmel AVR ISP Atmel AVR ISP V2 Atmel AVR ISP mkII The Bus Pirate Atmel STK500 Crossbow MIB510 programming board Atmel STK600 Avr910 USBasp USBtiny simple USB programmer Atmel Butterfly Development Board Atmel AppNote AVR109 Boot Loader Atmel AppNote AVR911 AVROSP Mikrokopter.de Butterfly Mikrokopter.de Butterfly Atmel JTAG ICE (mkI) Atmel JTAG ICE mkII in ISP mode Atmel AVR Dragon Jason Kyle`s pAVR Serial Programmer Brian Dean`s Programmer STK200 Pony Prog STK200 Dontronics DT006 Bascom SAMPLE programming cable Nightshade ALF-PgmAVR Steve Bolt`s Programmer Picoweb Programming Cable ABCmini Board, aka Dick Smith HOTCHIP Futurlec.com programming cable. Xilinx JTAG cable Direct AVR Parallel Access cable AT-ISP V1.1 programming cable for AVR-SDK1 ERE ISP-AVR Altera ByteBlaster Frank STK200 Atmel at89isp cable design ponyprog serial Lancos SI-Prog serial port banging
Список поддерживаемых микроконтроллеров Atmel серии AVR
ATtiny11 ATtiny12 ATtiny13 ATtiny15 ATtiny4 ATtiny5 ATtiny9 ATtiny10 ATTINY26 ATTINY261 ATTINY461 ATTINY861 ATtiny88 ATtiny2313 ATtiny4313 ATtiny25 ATtiny45 ATtiny85 ATtiny24 ATtiny44 ATtiny84 AT90S1200 AT90S4414 AT90S2313 AT90S2333 AT90S2343 AT90S4433 AT90S4434 AT90S8515 AT90S8535 AT90CAN128 AT90CAN64 AT90CAN32 AT90PWM2 AT90PWM3 AT90PWM2B AT90PWM3B AT90USB646 AT90USB647 AT90USB1286 AT90USB1287 AT90USB162 AT90USB82 ATMEGA103 ATMEGA64 ATMEGA128 ATMEGA16 ATMEGA164P ATMEGA324P ATmega324PA ATMEGA644 ATMEGA644P ATMEGA1284P ATMEGA162 ATMEGA163 ATMEGA169 ATMEGA329 ATMEGA329P ATMEGA3290 ATMEGA3290P ATMEGA649 ATMEGA6490 ATMEGA32 ATMEGA161 ATMEGA8 ATMEGA8515 ATMEGA8535 ATMEGA48 ATMEGA88 ATMEGA88P ATMEGA168 ATMEGA168P ATMEGA328P ATMEGA640 ATMEGA1280 ATMEGA1281 ATMEGA2560 ATMEGA2561 ATMEGA128RFA1 ATmega32U4 ATmega32U2 ATmega16U2 ATmega8U2 ATMEGA325 ATMEGA645 ATMEGA3250 ATMEGA6450 ATXMEGA64A1 ATXMEGA128A1 ATXMEGA128A1REVD ATXMEGA192A1 ATXMEGA256A1 ATXMEGA64A3 ATXMEGA128A3 ATXMEGA192A3 ATXMEGA256A3 ATXMEGA256A3B ATXMEGA16A4 ATXMEGA32A4 ATXMEGA64A4 ATXMEGA128A4 AVR32UC3A0512
Установка AVRDUDE для Windows
На официальном сайте программы http://www.nongnu.org/avrdude/ в разделе для скачивания файлов http://download.savannah.gnu.org/releases/avrdude/ можно скачать все нужные файлы, в том числе и исходный код.
Я собрал в один архив AVRDUDE. 5.11 для Windows с документацией и необходимыми драйверами. Вы можете воспользоваться этой ссылкой, чтобы СКАЧАТЬ AVRDUDE. 5.11 для Windows. Просто скачайте и распакуйте содержимое архива в папку на диске. Далее в примерах будет подразумеваться, что это папка C:\avrdude\ Если используем LPT программатор, запускаем файл install_giveio.bat. Этот пакетный файл установит драйвер прямого доступа к портам (giveio.sys). Если Вы используете программатор usbasp, обратите внимание на папку usbasp-windriver.2011-05-28. В ней находятся драйвера, их так же следует установить.
Как использовать AVRDUDE под Windows
Сразу оговорюсь, что не стоит набирать команды вручную каждый раз. Для этого человечество придумало пакетные файлы. Создаем файл с расширением .bat и в него пишем команду или несколько команд. Потом просто запускаем наш bat файл.
Пример 1 (Прошиваем Flash)
avrdude -p m16 -c usbasp -e -U flash:w:upload.hex
где:
-p m16 - указывает, что мы прошиваем микроконтроллер ATmega16
-c usbasp - указывает, что мы прошиваем, используя программатор USBasp
-e - Выполняет команду ERASE (стирание чипа) перед прошивкой
-U flash:w:upload.hex - указывает, что работаем с флеш памятью (flash), пишем (w), файл (upload.hex).
Сразу же возникает вопрос: "Где найти обозначения микроконтроллеров и программаторов?"
Ответ: в файле документации с подробным описанием параметров командой строки: C:/avrdude/avrdude-html/avrdude_4.html
Если такой отсутствует, можно заглянуть в файл конфигурации avrdude.conf
Пример 2 (программируем Фьюзы)
avrdude -p m88p -c usbasp -U lfuse:w:0xE2:m -U hfuse:w:0xDF:m
где:
-p m88p - микроконтроллер ATmega88P
-c usbasp - указывает, что мы прошиваем, используя программатор USBasp
-U lfuse:w:0xE2:m - зашиваем в младший разряд фюзов 0xE2
-U hfuse:w:0xDF:m - зашиваем в старший разряд фюзов 0xDF
Для удобства можете воспользоваться калькуляторами Фьюзов:
http://fusecalc.mirmk.net/ (локальная версия калькулятора фьюзов с того же сайта FUSEcalc.zip)
http://payalo.at.ua/c_fuse/calc.html
Подробнее о фьюзах
Пример 3 (программируем EEPROM)
avrdude -p m16 -c usbasp -U eeprom:w:eeprom.hex
где:
-p m16 - указывает, что мы прошиваем микроконтроллер ATmega16
-c usbasp - указывает, что мы прошиваем, используя программатор USBasp
-U eeprom:w:upload.hex - указывает, что работаем с eeprom памятью (eeprom), пишем (w), файл (eeprom.hex).
Пример 4 (читаем Flash и пишем в файл dump.hex)
avrdude -p m16 -c usbasp -U flash:r:dump.hex:i
Отличие от первого примера, отсутствует "-e" (стирать чип нам не надо), команда :w: (write, писать) заменена на :r: (read, читать), добавлено :i (формат файла Intel Hex)
При прошивке формат файла определяется автоматически, указывать его не обязательно. Когда пытаетесь слить прошивку, указывать формат файла нужно обязательно.
Поддерживаемые форматы файлов:
i - Intel Hex
s - Motorola S-record
r - raw binary; little-endian byte order, in the case of the flash ROM data
m - immediate mode; actual byte values specified on the command line, separated by commas or spaces in place of the filename field of the ‘-U’ option. This is useful for programming fuse bytes without having to create a single-byte file or enter terminal mode. If the number specified begins with 0x, it is treated as a hex value. If the number otherwise begins with a leading zero (0) it is treated as octal. Otherwise, the value is treated as decimal.
a - auto detect; valid for input only, and only if the input is not provided at stdin.
d - decimal; this and the following formats are only valid on output. They generate one line of output for the respective memory section, forming a comma-separated list of the values. This can be particularly useful for subsequent processing, like for fuse bit settings.
h - hexadecimal; each value will get the string 0x prepended.
o - octal; each value will get a 0 prepended unless it is less than 8 in which case it gets no prefix.
b - binary; each value will get the string 0b prepended.
Пример 5 (читаем eeprom и пишем в файл eepromdump.hex)
avrdude -p m16 -c usbasp -U eeprom:r:eepromdump.hex:i
Пример 6 (выполняем сравнение (верификацию) Flash памяти с указанным hex файлом)
avrdude -p m16 -c usbasp -U flash:v:upload.hex
В последнем параметре :v: (verify, проверить).
Если нам надо одним движением прошивать флеш память и прошить фьюзы, разумно сделать пакетный файл с примерно следующими командами:
C:/avrdude/avrdude -p m88p -c usbasp -e -U flash:w:upload.hex
C:/avrdude/avrdude -p m88p -c usbasp -U lfuse:w:0xE2:m -U hfuse:w:0xDF:m
Практика использования AVRDUDE под Windows
На практике я поступаю так: в папке, где компилируется .hex файл прошивки создаю файл upload.bat со следующим содержимым:
@set MK=m88p
@set PRG=usbasp
@set FLASHFILE=Brushless.hex
@set AVRDUDEPATH=C:\avrdude\
REM FLASH
%AVRDUDEPATH%avrdude -p %MK% -c %PRG% -e -U flash:w:%FLASHFILE%
REM FUSES (http://fusecalc.mirmk.net/)
%AVRDUDEPATH%avrdude -p %MK% -c %PRG% -U lfuse:w:0xE2:m -U hfuse:w:0xDF:m
В случае если потребуется изменить программатор, контроллер или путь к AVRDUDE, не потребуется исправлять во всех командах. Достаточно изменить переменные, объявленные в начале файла.
В статье Программаторы микроконтроллеров AVR я описал программатор AVR ISP Prorgammer (работащий через параллельный порт LPT), совместимый с AVR910 и USBasp программатор. Для этих программаторов в AVRDUDE используются следующие идентификаторы:
AVR ISP Prorgammer - stk200
AVR910 - avr910
USBasp - usbasp
Обращаю Ваше внимание на то, что AVR910 работает через виртуальный последовательный (COM) порт. Его следует указать в параметре -P. Пример:
avrdude -p m8 -c avr910 -P COM4 -U flash:r:flesh.hex:i
Подробно о всех возможностях AVRDUDE читайте в документации
C:/avrdude/avrdude-html/avrdude.html
СКАЧАТЬ AVRDUDE. 5.11 для Windows
Удачи!
Смотри также:
Очень полезная статья, спасибо!
Недавні записи
- LCD Display ST7567S (IIC)
- Розпізнавання мови (Speech recognition)
- Selenium
- Комп'ютерний зір (Computer Vision)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
- Драйвер IGBT транзисторів на A316J
- AS5600. Варіант встановлення на BLDC мотор
- DC-DC для IGBT драйверів ізольований 2 W +15 -8 вольт
Tags
battery soldering java-script ngnix adc rs-232 flask esp8266 watchdog web exti solar mongodb rtc sms pwm usart books ethernet smd git websocket meteo css python dc-dc displays led ssd1306 eeprom gpio barometer max1674 mpx4115a brushless motor mpu-6050 timer sensors remap servo bldc atmega pmsm 3d-printer flash encoder examples dma raspberry-pi tim ssd1331 piezo mpu-9250 rfid eb-500 foc bme280 gps nvic dht11 bluetooth hih-4000 stm32 st-link docker uart avr html wifi bmp280 bkp nodemcu options usb lcd programmator i2c capture
Архіви