- Графическая оболочка avrdude linux
- Программирование МК AVR в ОС Ubuntu. Часть 2 (GUI)
- Avrdude — опции запуска и примеры использования, графическая оболочка для linux
- Список поддерживаемых программаторов
- Как использовать AVRDUDE под Windows
- Пример 1 (Прошиваем Flash)
- Пример 2 (программируем Фьюзы)
- Пример 3 (программируем EEPROM)
- Пример 4 (читаем Flash и пишем в файл dump.hex)
- Пример 6 (выполняем сравнение (верификацию) Flash памяти с указанным hex файлом)
- Практика использования AVRDUDE под Windows
- Работа с памятью (опция -U :r|w|v:[:format])
- History
- Программа AVRDude
- Настройка AVRDUDE
- Параметры запуска avrdude
- Main features
- Типы программаторов (опция -c )
- Заключение
Графическая оболочка avrdude linux
Программирование AVR под Linux
Автор: ANALOG, pletnevroma@mail.ru
Опубликовано 07.08.2013
Создано при помощи КотоРед.
Предисловие:
Наверное каждый кто пишет программы под AVR микроконтроллеры и имеет на компе Linux задумывался о том чтобы писать именно на нем. И часто это оказывается не так просто. Проблема тут в отсутствии единого подхода. Каждый выкручивается как может. В отличии от Windows, где поставил AVRstudio и все готово. (конечно и под винду есть другие варианты, но статья не об этом). Лично для меня этот вопрос был одной из главных трудностей при переходе на Linux. И даже когда я уже по большей части сидел только на нем, все равно частенько приходилось загружать Windows чтоб запустить родную студию 🙂 Поэтому я решил написать статейку на эту тему. Надеюсь она снимет некоторые вопросы у желающих писать программки для AVR под линуксом. Статья ориентирована скорее на начинающих, поэтому все будет подробно разжевано, а все консольные команды с пояснениями. Используется дистрибутив Linux Ubuntu, но все прокатит и на любом другом.
Что нам для этого понадобится:
geany — прокачанный текстовый редактор с кучей вкусностей о которых ниже, в нем мы будем писать исходные коды.
avra или gcc-avr — компилятор для AVR, он превратит наш исходный код в прошивку для контроллера.
avrdude — крутой прошивальщик который поддерживает кучу разных программаторов и контроллеров, с его помощью будем заливать прошивку в контроллер.
Устанавливаем все это добро. Открываем терминал и вводим:
sudo apt-get install geany
sudo apt-get install avra
sudo apt-get install gcc-avr
sudo apt-get install avrdude
Возможно, некоторых программ не будет в стандартных репозиториях — тогда репозитории с ними нужно подключить, отредактировав файл /etc/apt/sources.list (после этого не забываем sudo apt-get update) или собрать из исходников. Короче, если что-то из этого на ваш дистрибутив не поставится — погуглите.
Теперь нам понадобится папка с аппноутами для каждого микроконтроллера. Можно взять из недр AVRstudio у кого она есть, но там в дефайнах используется символ ‘#’ на который ругается avra, так что во вложениях к статье есть архив с «хорошими» дефайнами. В эту же папку я кладу свои файлики с макросами которые я использую. Когда все это есть можно уже в принципе приступать к написанию кода. У меня в домашней директории есть папка Projects, а в ней папка AVR, в которой у меня лежит папка APPNOTES а так же все проекты (каждый в отдельной папке).
Таким образом путь, скажем, к дефайну для ATmega8
/Projects/AVR/APPNOTES/m8def.inc
А к исходному коду проекта Example
/Projects/AVR/Example/Example.asm
Все дальнейшее в статье будет изложено исходя из такой структуры, хотя от этого мало что зависит и не составит труда адаптировать все это дело к другой системе.
Пишу я все на ассемблере, но опять же, не составит труда проделать то же самое на С, просто надо использовать gcc-avr вместо avra.
Итак, приступим:
1. Создаем в Geany файл Example.asm с исходным кодом
2. Компилируем его с помощью avra:
avra —includepath
/Projects/AVR/APPNOTES Example.asm
Опция —includepath указывает путь к папке, из которой будут браться все инклуды по умолчанию.
Т.е. в коде подключение файла с дефайнами будет выглядеть как .include «tn2313def.inc»
Примечательно, что в справке к avra эта опция значится как —includedir, но если так и ввести, то сама же avra начинает на это ругаться 🙂 так что пишем именно —includepath
Если в коде будут встречены ошибки, avra напишет нам об этом в консольку, с указанием номеров строк с ошибками. Если компиляция прошла успешно, то мы получим файлик Example.hex который нам и назо залить в контроллер.
3. прошиваем контроллер через avrdude
sudo avrdude -p t2313 -c usbasp -U flash:w:Example.hex
Опции:
-p указывем тип контроллера
-c — используемый программатор
-U указывает файл, с которым будет работать прошивальщик
Модификаторы flash:w: определяют каким образом будет использоваться указанный файл. В данном случае — запись во флеш.
Все, в принципе тут можно и остановиться, но ведь это неудобно до жути — каждый раз руками лапами вбивать всю эту лабуду в консоль. Да еще и в голове держать синтаксис команд, а она-то не резиновая. Вот тут то и настало время «вкусностей» Geany, из-за которых мы именно его и выбрали. Geany задуман как редактор именно для программистов, поэтому в нем есть три абстрактных действия с файлами: компиляция, сборка и запуск. При этом пользователь может сам определить какие команды должны выполняться в этих действиях.
Таким образом, мы получаем возможность повесить запуск avra на действие «компиляция» (или gcc-avr если вы пишете на С) а на «запуск» — avrdude. Еще останется свободным «сборка».
Запускаем наш редактор, открываем файл с исходником и жмем Сборка — Установить комманды сборки.
Видим вот такое окошко:
В поля «Скомпилировать» и «Выполнить» (на скрине подсвечено оранжевеньким) вводим соответственно команды для компиляции и прошивки в кристалл программы.
Все замечательно, но как указать имя файла если мы заранее его не знаем? Тут на помощь приходят 4 шаблона, которые Geany подставляет в команды в процессе их выполнения:
%f — имя текущего файла (в данном случае это Example.asm)
%e — имя текущего файла без расширения (Example)
%d — путь к папке, в которой лежит текущий файл (
/Projects/AVR/Example/)
%p — путь к текущему проекту (я так и не разобрался что это значит, но не важно :))
Так что команда для компиляции будет выглядеть так:
avra —includepath
sudo avrdude -p t2313 -c usbasp -U flash:w:%e.hex
Теперь для того чтобы программа скомпилировалась достаточно нажать F8 (или кнопочку с треугольником и кружочком в самом верху), а чтобы прошилась в контроллер — F5 (или кнопочку с шестеренками).
Так гораздо удобнее, но все еще не идеально — avrdude требует запуска через sudo, поэтому нужно каждый раз вводить пароль при прошивке. Для устранения этой досадной несправедливости откроем терминал и введем:
sudo chmod +s /usr/bin/avrdude
Этим мы открываем права на запуск avrdude. Теперь можно запускать avrdude без sudo:
avrdude -p t2313 -c usbasp -U flash:w:%e.hex
Но и теперь процесс не полностью автоматизирован — если мы вдруг решили написать прогу для другого контроллера, то по прежнему нужно лезть в настройки и менять опцию -p у avrdude. Как заставить Geany самому распознавать контроллер? А например по строчке .include «m8def.inc» которая есть в каждой программе.
Для этого давайте напишем небольшой скрипт, который будет это делать. Вернее я его уже написал, а вам предлагается только почитать комментарии к нему, или даже просто скопипастить 🙂 Вот он:
WARNING. В статье не отображаются бекслэши, поэтому они заменены обычными слешами красного цвета: /
PART=`grep -m 1 » / .include / «.*def / .inc / «» %f | grep -o » / (tn / |m / )6 / +» | sed «s/tn/t/g»` && echo «target device: $PART» && avrdude -p $PART -c usbasp -U flash:w:»%e.hex» && exit
(В конце статьи есть файлик filetypes.asm, в котором все это есть. Можно вместо переписывания скриптов просто закинуть его куда надо (
Всю эту здоровенную строку нужно вбить в поле «Выполнить»
Пояснения:
Сначала мы создаем строковую переменную PART, в которую заносим результат выполнения скрипта, определяющего тип контроллера (о самом скрипте чуть ниже)
Затем выводим в консоль название распознанного контроллера (просто так, для справки), потом запускаем avrdude, подставляя в него нужную опцию, ну и в конце я добавил exit чтоб окно терминала само закрывалось после удачной прошивки.
У связки && есть одна приятная особенность: следующая команда выполняется только в случае успешного завершения предыдущей. Таким образом, если при прошивке что-то пошло не так терминал не закроется и мы сможем почитать об ошибках.
Теперь подробнее о скрипте:
первый grep находит в файле с исходником строчку вида .include «[тут что угодно]def.inc», опция -m 1 указывает что не стоит продолжать поиск, если хотя бы одна строка найдена.
Второй получает то что нашел первый и его задача из всей строки высосать именно название контроллера. Делается это с помощью шаблона, задающего вид имени контроллера и опции -o которая говорит ему чтоб выводил только тот кусок что нашел, а не всю строку. Я использую только меги и тиньки, поэтому у меня только tn и m, но вы можете адаптировать скрипт и для других серий. Например для xmega будет (tn|m|x) а для AT90S (tn|m|x|9) (у AT90S название только из цифр) ну и так далее.
Последняя команда sed заменяет tn на t. Дело в том, что в аппноутах от Атмела тинька 2313 например зовется как tn2313, а avrdude ее понимает как t2313. Вот и приходится изворачиваться.
Ну вот, теперь все совсем уж замечательно и в конечном виде команды компиляции и прошивки выглядят так:
avra —includepath
PART=’grep -m 1 » / .include / «.*def / .inc / «» %f | grep -o » / (tn / |m / )2 / +» | sed «s/tn/t/g»‘ && echo «target device: $PART» && avrdude -p $PART -c usbasp -U flash:w:»%e.hex» && exit
Осталась последняя маленькая деталь, которую стоит обсудить — фьюзы.
В принципе, avrdude позволяет их устанавливать, но для этого нужно укурившись даташитом пересчитать их в шестнадцатеричную систему и потом подсунуть в avrdude. Учитывая высокую вероятность ошибки и крайнюю трагичность ее последсятвий такой вариант сразу отметается. Мы же будем для этого юзать графическую оболочку к avrdude — avr 8 burn’o’mat. Качаем deb-пакет с их сайта, устанавливаем. У меня он просто так ставиться не захотел, пришлось подредактировать кое-что. Во вложениях к статье — исправленный deb-пакет. Если возникнут с этим проблемы — пишите в форум, разберемся.
При первом запуске ее нужно настроить. Переходим во вкладку Settings — AVRDUDE
Видим вот такое окно:
Сюда нужно ввести путь к avrdude, к файлу с ее настройками, тип вашего программатора и порт к которому он подключен. В общем, ставим все как на скрине.
Все, после этого выбираем нужный контроллер, жмем Fuses и правим их как надо.
Перед исправлением фьюзов сначала обязательно их считывайте с кристалла! Да и вообще, поаккуратней с ними 🙂
Можно даже запуск avr8-burn-o-mat повесить на оставшееся свободным действие «Сборка». Тогда вообще все просто замечательно выходит: F8 — скомпилировать, F5 — прошить, F9 — поправить фьюзы.
Ну вот и все, теперь вы сможете с легкостью писать AVR программки из-под вашего любимого линукса.
Удачи вам и правильных фьюзов 🙂
Источник
Программирование МК AVR в ОС Ubuntu. Часть 2 (GUI)
В прошлый раз мы научились компилировать прошивку и зашивать в контроллер через avr-gcc.
Но что делать если нам необходимо прошить фьюзы? Да и прошивать контроллер с помощью консоли не сильно удобно.
Значит нам необходимо скачать GUI оболочку для avrdude.
1. Заходим по ссылочке на файлообменник: http://narod.ru/disk/27500236000/avr8-burn-o-mat-2.1.2-all.deb.html
2. Скачиваем программку.
3. Запускаем и устанавливаем.
Далее, запустим программу: Приложения->Программирование->AVR8 Burn-O-Mat
Дальше откроем Settings->AVRDUDE
В AVRDUDE location нажимаем кнопочку File и ищем файлик под названием avrdude (должен быть здесь /usr/bin/avrdude).
Далее в alternative AVRDUDE configuration file нажимаем кнопочку File и ищем файлик под названием avrdude.conf (должен быть здесь /etc/avrdude.conf).
В AVRDUDE Options выбераем необходимый программатор, а так же порт через который будем работать. Если у вас программатор собран на преобразователе USB-RS232 то вам необходимо выбрать /dev/ttyUSB0.
Если все выставлено то нажимаем Apply->OK.
В AVR type выберем необходимый нам чип и нажмем Fuses.
Здесь, я думаю и так все понятно, что с ними делать.
Если все выставлено, то пробуем прошить или просто считать прошивку.
Источник
Avrdude — опции запуска и примеры использования, графическая оболочка для linux
Список поддерживаемых программаторов
Как использовать AVRDUDE под Windows
Сразу оговорюсь, что не стоит набирать команды вручную каждый раз. Для этого человечество придумало пакетные файлы. Создаем файл с расширением .bat и в него пишем команду или несколько команд. Потом просто запускаем наш bat файл.
Пример 1 (Прошиваем Flash)
-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 (программируем Фьюзы)
-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)
-p m16 — указывает, что мы прошиваем микроконтроллер ATmega16 -c usbasp — указывает, что мы прошиваем, используя программатор USBasp -U eeprom:w:upload.hex — указывает, что работаем с eeprom памятью (eeprom), пишем (w), файл (eeprom.hex).
Пример 4 (читаем Flash и пишем в файл dump.hex)
Отличие от первого примера, отсутствует «-e» (стирать чип нам не надо), команда :w: (write, писать) заменена на :r: (read, читать), добавлено :i (формат файла Intel Hex)
При прошивке формат файла определяется автоматически, указывать его не обязательно. Когда пытаетесь слить прошивку, указывать формат файла нужно обязательно.
Поддерживаемые форматы файлов:
i — Intel Hexs — Motorola S-recordr — raw binary; little-endian byte order, in the case of the flash ROM datam — 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.
Пример 6 (выполняем сравнение (верификацию) Flash памяти с указанным hex файлом)
В последнем параметре :v: (verify, проверить).
Если нам надо одним движением прошивать флеш память и прошить фьюзы, разумно сделать пакетный файл с примерно следующими командами:
Практика использования AVRDUDE под Windows
На практике я поступаю так: в папке, где компилируется .hex файл прошивки создаю файл upload.bat со следующим содержимым:
В случае если потребуется изменить программатор, контроллер или путь к AVRDUDE, не потребуется исправлять во всех командах. Достаточно изменить переменные, объявленные в начале файла.
В статье Программаторы микроконтроллеров AVR я описал программатор AVR ISP Prorgammer (работащий через параллельный порт LPT), совместимый с AVR910 и USBasp программатор. Для этих программаторов в AVRDUDE используются следующие идентификаторы:
AVR ISP Prorgammer — stk200AVR910 — avr910USBasp — usbasp
Обращаю Ваше внимание на то, что AVR910 работает через виртуальный последовательный (COM) порт. Его следует указать в параметре -P
Подробно о всех возможностях AVRDUDE читайте в документацииC:/avrdude/avrdude-html/avrdude.html
- Программаторы микроконтроллеров AVR
- Прошивка AVR микроконтроллеров с помощью Raspberry Pi
Работа с памятью (опция -U :r|w|v:[:format])
В качестве указываем тип памяти для работы:
- calibration — байты калибровки RC-генератора (один или несколько);
- eeprom — энергонезависимая память (EEPROM) микроконтроллера;
- efuse — дополнительный конфигурационный бит;
- flash — FLASH память микроконтроллера;
- fuse — фьюз-байт для МК только с одним fuse-байтом;
- hfuse — старший fuse-байт;
- lfuse — младший fuse-байт;
- lock — байт блокировки (ячейка защиты);
- signature — три байта что обозначают сигнатуру чипа (device ID);
- fuseN — байт с фьюзами для ATxmega чипов, N — целое число для каждого фьюза что поддерживается устройством;
- application — область приложений во Flash памяти для МК ATxmega;
- apptable — таблица приложений в области Flash памяти для устройств ATxmega;
- boot — загрузочная область Flash памяти для устройств ATxmega;
- prodsig — область с производственной сигнатурой (calibration) для устройств ATxmega;
- usersig — область с пользовательской сигнатурой для устройств ATxmega.
Дальше через двоеточие следует производимая операция с памятью МК:
- r — прочитать указанную область памяти и записать в указанный файл ;
- w — прочитать данные из файла и записать в указанную память устройства;
- v — прочитать данные из указанного файла и из указанной области памяти (verify, проверка).
В поле указывается полный или относительный путь к файлу что используется для записи или чтения данных. Поле «:format» является не обязательным, с его помощью указывается формат используемого файла:
- i — Intel HEX;
- s — Motorola S-record;
- r — raw binary (RAW формат);
- e — ELF (Executable and Linkable Format);
- m — занчения байтов для записи указываются непосредственно в командной строке в поле и разделяются пробелами или запятыми. По умолчанию байты пишутся в десятичной системе, если указать 0x — будет записано шестнадцатеричные значения, а если перед байтом стоит 0 — будет записано восьмеричное число;
- a — авто-определение формата (auto detect);
- d — десятичный формат (decimal), числа разделяются запятыми;
- h — шестнадцатеричный формат (hexadecimal), числа начинаются с 0x;
- o — восьмеричный формат (octal), перед числами ставится 0;
- b — двоичный формат (binary), перед числами ставится 0b.
По умолчанию используется авто-определение формата (auto detect).
History
AVRDUDE has once been started by Brian S. Dean as a private project
of an in-system programmer for the Atmel AVR microcontroller series,
as part of the Opensource and free software tools collection available for
these controllers. Originally, the software was written for the FreeBSD operating system,
maintained in a private CVS repository, and distributed under the name
avrprog.
Due to the growing interest in porting the software to other
operating systems, Brian
decided to make the project publically accessible on
savannah.nongnu.org. The name change to AVRDUDE has been chosen to
resolve the ambiguity with the avrprog utility as distributed
by Atmel together with their AVRstudio software.
Программа AVRDude
Программа AVRDude (AVR Downloader-Uploader) — это очень мощный кросплатформенный инструмент, который позволяет программировать всю линейку микроконтроллеров AVR, поддерживая при этом из коробки почти все типы доступных сейчас программаторов. Программа работает из консоли, что позволяет хорошо автоматизировать процесс прошивки микроконтроллеров но требует при этом внимательности и навыков работы с терминалом.
Рис. 1. avrdude — кросплатформенная программа для прошивки микроконтроллеров фирмы ATMEL.
Первоначальный код программы AVRDude был написан английским программистом Брайеном Дином (Brian S. Dean) и имел название AVRprog. Позже программа получила большой интерес со стороны пользователей и Брайен решил открыть ее код для всеобщего использования и доработки, а для того чтобы она не путалась с одноименной программой из AVRStudio — AVRProg, программа получила новое имя — AVRDude.
Программа AVRDude запускается и работает на ОС: Linux, Windows, MacOS X, FreeBSD и других.
Адрес официального сайта программы AVRDude: http://www.nongnu.org/avrdude/
Для установки программы avrdude в Debian GNU Linux или Ubuntu следует установить одноименный пакет при помощи команды:
Послее установки пакета программа готова к работе из консоли.
Настройка AVRDUDE
Теперь нам осталось выполнить финальный шаг. Запускаем программу AVRDUDE. По умолчанию открывается вкладка Program. В нижней части окна в меню Настройки выбираем тип программатора usbasp. Далее в категории Микроконтроллер выбираем наш микроконтроллер ATmega8. Ниже, в категории Flash кликаем по значку троеточия и в открывшемся меню указываем путь к скомпилированному файлу с расширением hex. Путь к файлу и сам файл будут теми же, что мы ранее задавали в Proteus.
Чтобы убедится в том, что программатор определен операционной системой (драйвер программатора корректно установлен) и правильно подключен к микроконтроллеру, кликаем по кнопке Чтение. Если ошибок нет, то появится окно с записью “Калибровочные ячейки генератора считаны!” И в верхнем окошке отобразится шестнадцатеричное число. У каждого МК это число индивидуальное.
Прежде, чем записать новую программу рекомендуется очистить память микроконтроллера. Это можно сделать, кликнув по кнопке Стереть все. В результате появится окно с сообщением о том, что кристалл чист.
Теперь кликаем по кнопке Программировать в категории Flash. При успешной записи программы в МК появляется окно с записью, приведенной ниже.
Результат записанной, или, как еще говорят, прошитой программы – это засветившийся светодиод, подключенный к выводу PC0 нашего микроконтроллера.
Первая наша программа очень проста, а частота работы микроконтроллера оставлена по умолчанию и для ATmega8 равна 1 МГц. В случае изменения частоты или подключения внешнего кварцевого резонатора, необходимо внести некоторые изменения во вкладке Fuses, путем установки галочек в соответственные чекбоксы CKSEL0… CKSEL3.
Подробно настройки данной вкладки мы рассмотрим в статье Fuses (биты настройки или биты защиты) микроконтроллера.
Скачать USBasp драйвер
Параметры запуска avrdude
Запустив в консоли программу avrdude без аргументов мы сможем увидеть список доступных опций для использования. Приведенную ниже информацию можно позже использовать как краткую справку по параметрам программы avrdude.
Рис. 2. Список параметров программы avrdude.
Рассмотрим все опции программы по порядку:
— является обязательной опцией, здесь мы в качестве
указываем краткий ;
указываем , например «usbasp».
Main features
The major features of AVRDUDE include:
Supports a wide range of programming hardware, from cheap ISP for input and output, as well as direct memory contents specification on the command-line (useful e. g. for fuse bytes). On input, the file format can be auto-detected. examined, and possibly modified. This allows to set fuses interactively, or to modify a few EEPROM cells. |
Типы программаторов (опция -c )
Настройки всех программаторов содержатся в конфигурационном файле по умолчанию, полистать его содержимое в ОС Linux можно командой:
Ниже представлены значения опции и соответствующие данные программаторов:
Опция | Программатор |
---|---|
abcmini | ABCmini Board, aka Dick Smith HOTCHIP |
alf | Nightshade ALF-PgmAVR, http://nightshade.homeip.net/ |
arduino | Плата Arduino, протокол сходен с STK500 1.x |
atisp | AT-ISP V1.1 кабель программирования для AVR-SDK1, 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 |
avrisp | Atmel AVR ISP (псевдоним для stk500) |
avrisp2 | Atmel AVR ISP mkII (псевдоним для stk500v2) |
avrispmkII | Atmel AVR ISP mkII (псевдоним для 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, 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 в режиме ISP |
dragon_jtag | AVR Dragon в режиме JTAG |
dragon_pp | AVR Dragon in (high-voltage) parallel programming mode |
dt006 | Dontronics DT006 |
ere-isp-avr | ERE ISP-AVR |
frank-stk200 | Клон STK200 от Frank’а, http://electropol.free.fr/spip/spip.php?article15 |
futurlec | Кабель программирования Futurlec.com |
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 в режиме высоковольтного последовательного программирования (high-voltage serial programming mode), только для прошивок версии 2.x |
stk500pp | Atmel STK500 в режиме параллельного программирования (parallel programming) , только прошивка версии 2.x |
stk500v1 | Atmel STK500, с версией прошивки 1.x |
stk500v2 | Atmel STK500, с версией прошивки 2.x |
stk600 | Atmel STK600 в режиме ISP или в PDI режиме для устройств ATxmega |
stk600hvsp | Atmel STK600 в режиме высоковольтного последовательного программирования (high-voltage serial programming mode) |
stk600pp | Atmel STK600 в режиме параллельного программирования (parallel programming) |
usbasp | USBasp, http://www.fischl.de/usbasp/ |
usbtiny | USBtiny — простой USB программатор, http://www.ladyada.net/make/usbtinyisp/ |
xil | Xilinx JTAG кабель |
Заключение
Как видите у программы avrdude очень мощный арсенал возможностей по работе с AVR микроконтроллерами. Для консольной версии avrdude есть разнообразные графические надстройки и оболочки, но все же зная как использовать данную программу в консоли вы всегда будете держать процесс прошивки МК под полным контролем, а также легко производить автоматизацию всех необходимых действий.
Не стоит забывать что с течением времени появляются новые микроконтроллеры от Atmel, программаторы, а также программа avrdude в своем развитии не стоит на месте, желательно время-от-времени сверяться с официальной документацией по программе, следить за изменениями в мире AVR микроконтроллеров.
Для быстрого чтения документации по avrdude в Linux можно обратиться к родной MAN-системе (мануалы, manuals):
В следующей статье мы разберемся с настройкой avrdude для работы с микроконтроллерами на Linux, решим проблему ограничения прав запуска от обычного пользователя. Проведем первые испытания программатора в рабочей обстановке и на реальном микроконтроллере.
Начало цикла статей: Программирование AVR микроконтроллеров в Linux на языках Asembler и C.
Источник