Avrdude
AVRDude (AVR Downloader-Uploader) — кроссплатформенна вільна консольна програма, призначена для прошивки мікроконтролерів фірми Atmel серії AVR. Користується значною популярністю серед розробників та підтримує понад 80 програматорів та понад 150 мікроконтролерів[3]. Крім «рідних» пристроїв від Atmel сюди входять саморобні аматорські пристрої, які не підтримуються AVR Studio, наприклад популярний програматор USBAsp. Спочатку програма була написана для операційної системи FreeBSD і підтримувалась в приватному репозитарії автора, поширюювалася під назвою AVRProg. У зв'язку зі зростаючим інтересом до портування ПЗ на інші операційні системи, Брайан Дін вирішив зробити проект публічним. Також він змінив назву програми на Avrdude, щоб усунути неоднозначність з AVRProg — утиліти, що розповсюджується Atmel разом зі своїм програмним забезпеченням AVR Studio.
| |
Автор(и) | Brian S. Dean |
---|---|
Стабільний випуск | 6.2 (16 листопада 2015 ) |
Версії | 6.3 (16 лютого 2016)[1] |
Операційна система | Багатоплатформний |
Мова програмування | C[2] |
Доступні мови | англійська |
Стан розробки | активний |
Ліцензія | GPL |
Вебсайт | www.nongnu.org/avrdude/ |
Інсталяція
Програма AVRDude працює в усіх ОС, що підтримують компіляцію тексту програми: Linux, Windows, MacOS X, FreeBSD та інших. Процес інсталяції описано у файлі INSTALL, що знаходиться у .tar.gz архіві з файлами програми. Архіви з вихідними кодами програми можна завантажити зі сторінки завантаження на сайті розробника.
Окрім того для ОС Windows розробником розповсюджуються вже зкомпільовані .exe файли програми. Вони не потребують інсталяції в систему, але для коректної роботи з USB портом ПК необхідно встановити бібліотеку libusb0.dll.
У операційних системах Linux, що використовують систему керування пакунками Advanced Packaging Tool AVRDude можна встановити за допомогою команди:
sudo apt-get install avrdude
Приклади використання
Отримати список всіх підтримуваних програматорів:
avrdude -c ?
Отримати список всіх підтримуваних мікроконтролерів:
avrdude -p ?
Зчитати дані з Flash-пам'яті мікроконтролера ATmega8 і зберегти їх у файл /home/user/m8_flash_dump.hex, формат даних для збереження — Intel HEX. Для роботи використовуємо USB-програматор USBAsp, також просимо програму виводити більше налагоджувальної інформації:
avrdude -p m8 -c usbasp -P usb -v -U flash:r:/home/user/m8_flash_dump.hex:i
Зчитати дані з пам'яті EEPROM мікроконтролера ATmega32, зберегти ці дані в файл С:\temp\m32_eeprom.raw використовуючи формат даних — RAW. Для роботи використовуємо програматор USBTiny:
avrdude -p m32 -c usbtiny -U eeprom:r:"c:\temp\m32_eeprom.raw":r
Записати дані з файлу /home/user/dump_m8.hex у Flash-пам'ять мікроконтролера ATtiny13, використовуючи програматор STK500:
avrdude -p t13 -c stk500 -U flash:w:/home/user/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
Графічні оболонки
Для зручної роботи з програмою AVRDude cторонніми розробниками написано ряд графічних надбудов. Серед них популярні в користувачів: AVRDUDE_PROG[4], AVR8 Burn-O-Mat[5], AVRDUDESHELL[6], Sinaprog та інші.
Примітки
- AVRDUDE 6.3 released
- https://www.openhub.net/p/avrdude/analyses/latest/languages_summary
- AVR Tutorial (англ.)
- Контрактная разработка электроники Екатеринбург (Первоуральск) (рос.)
- AVR8 Burn-O-Mat: eine grafische Oberfläche für avrdude (нім.)
- Блог Goloveiko Alexander. AVRDUDESHELL. Программа для прошивки микроконтроллеров Atmega (рос.)
Література
- Trevennor, Alan. Practical AVR Microcontrollers: Games, Gadgets, and Home Automation with the Microcontroller Used in the Arduino. — Technology in Action. — Apress, 2012. — 416 с. — ISBN 978-1430244462.
- Williams, Elliot. Make: AVR Programming. — Maker Media, Inc, 2014. — 472 с. — ISBN 978-1449355784.
Посилання
- Сайт програми (англ.)
- Документация на русском языке и примеры использования (рос.)
- Офіційна документація (англ.)
- Огляд на avrprojects.net (рос.)
- Огляд програми на ladyada.net (англ.)