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
Удачи!
Смотри также:
Очень полезная статья, спасибо!
Недавні записи
- Text to speech. Українська мова
- LCD Display ST7567S (IIC)
- Розпізнавання мови (Speech recognition)
- Selenium
- Комп'ютерний зір (Computer Vision)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
- Драйвер IGBT транзисторів на A316J
- AS5600. Варіант встановлення на BLDC мотор
Tags
docker sensors rtc led timer wifi remap sms css websocket mongodb bme280 rfid bluetooth esp8266 nodemcu bkp piezo bmp280 i2c mpu-6050 encoder examples avr brushless ngnix nvic displays bldc java-script pmsm barometer pwm lcd ethernet stm32 raspberry-pi capture usart gpio exti atmega meteo solar smd dma adc eeprom eb-500 flask python ssd1306 uart options flash mpx4115a html gps st-link 3d-printer servo dc-dc foc git books battery hih-4000 watchdog dht11 web tim programmator ssd1331 mpu-9250 usb rs-232 motor max1674 soldering
Архіви