Avrdude: avrdudes/avrdude: AVRDUDE is a utility to program AVR microcontrollers

AVRDUDE

Консольная программа для считывания, изменения и записи содержимого памяти микроконтроллеров архитектуры AVR, применяющая технологию внутрисхемного программирования.

AVRDUDE (сокращение от AVR Downloader-Uploader) представляет собой мощную утилиту, позволяющую посредством консольного интерфейса работать с памятью и прошивать микроконтроллеры от компании Atmel. AVRDUDE основана на распространенном интерфейсе обмена данными с микросхемами – SPI. Программа позволяет прошивать FLASH- и EEPROM-память, программировать фьюзы, выполнять верификацию FLASH-памяти с выбранным HEX-файлом, работать в терминальном режиме и многое другое.
Данный софт получил огромную популярность вследствие поддержки широчайшего спектра микроконтроллеров и программаторов (FT2232, Atmel AVR ISP, Altera ByteBlaster, Atmel STK500 и STK600, USBasp, Brian Dean’s Programmer, Dontronics DT006, Pony Prog STK200, Bascom SAMPLE programming cable и многих-многих других), работающих через интерфейсы параллельного и последовательного портов.

Кроме официальных программных аппаратных средств от Atmel возможна работа с любительскими изделиями, не поддерживаемыми AVR Studio.

Главной особенностью программы является консольный интерфейс, требующий определенных навыков работы. Однако сторонними разработчиками для AVRDUDE был создан ряд удобных графических оболочек полезных при изучении содержимого памяти микроконтроллеров, изменения отдельных байтов EEPROM, Lock- и Fuse-битов. Программировать же всю память кристалла удобно из командной строки AVRDUDE.

В отличие от AVR Studio, полезной лишь в процессе создания и отладки программного кода, AVRDUDE больше подходит для серийного прошивания готовых продуктов. Для работы с повседневными однотипными задачами пользователю не требуется каждый раз набирать команды вручную, поскольку программа может работать с пакетными файлами. Для этого необходимо создать bat-файл и прописать в нем ключи, указать файл с прошивкой и, самое главное, верно внести в командную строку Fuse-биты.
В дальнейшем будет достаточно лишь запускать bat-файл на выполнение. Для разных устройств необходимо создавать свой батник.

Программное обеспечение AVRDUDE имеет статус GNU GPL, что дает возможность каждому пользователю свободно скачивать ее, изменять по собственному желанию и распространять дальше. Благодаря этому AVRDUDE вошла в состав различных сред для разработки программ микроконтроллеров AVR, например WinAVR.

Установить данный софт можно вместе с пакетом WinAVR (для запуска необходимо написать в командной строке: avrdude) или скачать все нужные файлы, включая исходный код, с официального сайта программы: http://download.savannah.gnu.org/releases/avrdude/.

Первоначальный код AVRDUDE был создан английским программистом Брайеном Дином (http://www.bsdhome.com/). Программа была написана для операционной системы FreeBSD и распространялась под названием AVRprog. В связи с растущим интересом к данному продукту Брайан решил портировать его на другие операционные системы и выложить в свободном доступе.

Изменение названия на AVRDUDE произошло, чтобы не было путаницы с утилитой AVRprog, распространяемой компанией Atmel в составе AVR Studio.

Консольный интерфейс AVRDUDE представлен на английском языке, однако в Сети можно найти русифицированные графические оболочки рассматриваемой утилиты, например AVRDUDE_PROG.

Программа AVRDUDE представлена в вариантах для Windows и Linux. Windows-версия поддерживает все известные операционные системы Microsoft, включая Vista и 7. Поскольку в Windows 2000 и Windows XP возможность работать напрямую с параллельным портом компьютера заблокирована, для нормального функционирования AVRDUDE потребуется самостоятельно установить драйвер giveio.sys, поставляемый с программой. В Windows 98 дополнительные настройки не требуются.

Распространение программы: Freeware (бесплатная)

Официальный сайт программы «AVRDUDE»: http://download.savannah.gnu.org/releases/avrdude/

Скачать AVRDUDE

Обсуждение программы на форуме

AVRDudeR — встраиваем avrdude в IDE / Хабр

Arduino — хорошая платформа для самоделкиных вроде меня.
Удобная, все в ней уже есть.

В чем проблема?
Программная часть мне далеко не всем нравится. Особенно ужасна Arduino IDE. Каждый файл открывается в новом окне, оставляя пустое запущенное окно IDE. И прочие мелкие глупости, которые привыкших к удобству Visual Studio, Borland/Embarcadero RAD IDE расстраивают и вызывают неудовольствие.
К счастью, мы можем использовать любую IDE какая понравится. Для готовых проектов, которые только скомпилировать и прошить или собственных пробных поделок вполне годится тот огрызок Wiring, который компилируется Arduino IDE.
Для удобства работы я использую Visual Micro Arduino — удобство Visual Studio, быстрая компиляция, прошивка стандартными средствами.

Arduino без Arduino IDE
Ступенькой выше стоит прямая работа с микроконтроллером, тут уж в вольны делать что захотите. Часто это удобнее чем разбираться в начинке библиотек Arduino. Но приходится использовать либо AVR Studio либо стороннюю IDE и компилятор от Atmel (благо, он совершенно бесплатный и входит в AVR Tools).
Все бы хорошо, но про Arduino они ничего не знают и прошить ее не могут. И вот тут начинаются неудобства.

Кому неинтересны детали, переходите сразу к делу, скачиваем и настраиваем.

AVR Studio неплохая среда, правда версия 4 довольно примитивная, а 5я тяжеловесна. Ни та ни другая кроме как через фирменный программатор прошивать не умеют. Засада.
Я взял проект бутлоадера, который совместим с AVR Studio, притворяясь AVRISP программатором. Интерфейс же с ним в AVR Studio оказался далеко не самым удачным.

Что делать?
Есть AVRDUDE — бесплатный прошивальщик, который работает почти со всеми программаторами для ATMEL микроконтроллеров. Но он консольный. Вроде бы не проблема, написал cmd или bat файл и все дела, запускай его после компиляции и всего делов. Но у меня, как, наверное, у многих, не одна плата. А каждая плата Arduino видится в системе как отдельный COM-порт. Каждый программатор тоже. В платах установлены разные микроконтроллеры (Atmega168P, Atmega328P). Не считая самодельных Arduino-совместимых плат или вообще с голым микроконтроллером и обвязкой.
Каждый раз лазать в bat файл и править настройки под разные платы или переключаться в другое приложение чтобы его запустить для прошивки, чтобы проверить работу когда я поменял пару байт в коде, лично мне надоедает, да и ошибок возникает немало, так и контроллер убить недолго. Хуже того, с FTBB программатором работает только отдельная версия avrdude, пропатченная под него и ничего не знающая про arduino. А значит, если мы прошиваем через него, то нужно держать еще один bat файл.
В Code::Blocks IDE, которая мне больше понравилась по возможностям форматирования и удобству работы с кодом, ситуация немногим лучше, разве что можно передавать внешней утилите параметры.

Автоматизация запуска avrdude с нужными параметрами

Мне эта ситуация надоела и я написал небольшую программку, которая получает в командной строке 2 параметра:
— имя конфигурационного файла
— имя файла прошивки

Утилита сама запускает avrdude с параметрами, указанными в конфигурационном файле (просто файл с готовыми настройками для прошивания), дожидается прошивки и закрывается.

Это позволяет прошивать проект в любой имеющийся микроконтроллер в процессе отладки в 2 клика прямо из Code::Blocks.
Если запустить с одним параметром, прочитает соответствующий файл конфигурации, если с двумя, попытается автоматически залить прошивку из второго параметра.

Если заинтересовало, качаем AVRDudeR

Встраивается в IDE очень просто (дольше рассказывать, чем сделать):
Добавляем в меню Tools два пункта меню — для изменения настрек и для прошивки

Для изменения настроек прописываем:

Для прошивки:

По сути в настройках прописаны: первый параметр — файл avrdude.ini, который мы сохраняем при настройке в папку проекта,

второй параметр — имя файла прошивки.

Процесс настройки выглядит так:

  • Подключаем программатор или плату Arduino с которой будем работать, чтобы в системе появился нужный COM порт.
  • Запускаем Tools->R AVRduder: Setup, выбираем настройки и сохраняем файл с настройками в каталоге своего проекта под именем avrduder. ini (или то, которое указали в настройках). Закрываем утилитку

Теперь скомпилировав проект, выбираем в меню Tools->R AVRDudeR: Flash и готово.

Обе версии avrdude уже лежат в архиве, ничего настраивать и прописывать в AVRDudeR не нужно.

Немного о настройках:

MCU — микроконтроллер (понятное имя и код для командной строки avrdude программа берет из mcu.lst)
Programmer — программатор. FTBB, Arduino с соответствующей прошивкой в качестве ISP программатора (ArduinoISP), или подключенная напрямую Arduino. (Текст пунктов меню и коды для строки программатора в файле programmers.lst)
Port: ну собственно COM порт программатора или Arduino (поэтому нужно чтобы плата была подключена во время настройки).
Baud rate: скорость порта. Для Arduino до UNO — 57600, UNO — 115200. В вашем загрузчике сами знаете какую настроили, а для FTBB режима этот параметр игнорируется.
Dude type: как раз тут и выбираем какой avrdude — обычный или для FTBB программатора использовать.
Галка Show Result — открыть при прошивке окно, в котором виден процесс прошивки, если вам неинтересно и вы уверены что все работает верно, не ставьте ее, программа просто выведет сообщение, когда avrdude закончит работу и сама закроется.

Саму программу можно использовать для заливки прошивки напрямую, не встраивая.
просто дважды щелкаем в поле Firmware, выбираем файл прошивки (или просто вставляем путь к файлу руками) и жмем Flash Firmware. Файл конфигурации работает и в этом случае.

Если сменился контроллер или подключили в другой порт, через другой программатор, просто выбираем Tools->R AVRDuder: Setup и открывается файл с настройками этого проекта (или настройками по умолчанию, если в папке с проектом avrduder.ini отсутствует). Меняем порт или программатор, контроллер или что там у нас поменялось и сохраняем обратно avrduder.ini в папку проекта. Все.

Да, avrdude.ini можно просто таскать из проекта в проект, если работате с одинаковыми платами/программаторами. Просто скопируйте его в папку нового проекта и можно ничего не настраивать вообще.
Ах да, чуть на забыл, в Code:Blocks я выбрал GNU AVR GCC Compiler и указал только папку к AVR Tools. А проект настроил вот так:

Тогда компилятор создает файл .elf.hex, который мы и прошиваем. Если у вас по-другому, измените второй параметр, передаваемый в AVRDudeR, чтобы он передавал имя файла прошивки.

Надеюсь, кому-то это сбережет нервы, повысит производительность и позволит сосредоточиться на собственно работе над идеей, а не возиться с кучей приблуд при каждой компиляции и заливке проекта.
Если утилита окажется полезной, пользуйтесь на здоровье.
UPD Утилита все-таки пригодилась.
Новая версия доступна на google code

AVRDUDE — загрузчик/загрузчик AVR

AVRDUDE — загрузчик/загрузчик AVR

АВРДУДЕ является полезной для загружать/выгружать/манипулировать содержимым ПЗУ и EEPROM AVR микроконтроллеры с использованием технологии внутрисистемного программирования (ISP).

Документация

Документацию можно загрузить с веб-сайта область загрузки, или читать онлайн здесь.

История

AVRDUDE когда-то был запущен Брайаном С. Дином как частный проект. внутрисистемного программатора для серии микроконтроллеров Atmel AVR, как часть коллекции инструментов с открытым исходным кодом и бесплатного программного обеспечения, доступной для эти контроллеры. Первоначально программное обеспечение было написано для операционной системы FreeBSD, поддерживается в частном репозитории CVS и распространяется под именем аврпрог .

В связи с растущим интересом к переносу программного обеспечения на другие операционные системы, Брайан решил сделать проект общедоступным на savannah.nongnu.org. Изменение имени на AVRDUDE было выбрано для устраните неоднозначность с помощью утилиты avrprog , распространяемой от Atmel вместе с их программным обеспечением AVRstudio .

В 2022 году проект переехал из Саванны в Гитхаб извлечь выгоду из инструментов, которые в конечном итоге развились вокруг Система контроля версий Git.

Основные характеристики

Основные функции AVRDUDE включают в себя:

  • Пользовательский интерфейс с командной строкой для всех операций загрузки и функции загрузки (включая обработку байтов предохранителей), для легкого автоматизация эл. г. путем включения в Makefiles.
  • Интерактивное изучение и модификация различной памяти регионы в так называемом терминальном режиме . Предлагается также возможность изменения рабочих параметров Atmel STK500 платы (целевое напряжение, VAref, основная тактовая частота).
  • Известно, что он работает на всех основных операционных системах в стиле POSIX, а также на платформах Win32. Используя существующие драйверы операционной системы в системах в стиле POSIX, безопасный доступ через параллельный порт без root-прав можно сохранить. На платформах Win32 доступ к параллельному порту требует предварительной установки драйвера (giveio. sys), который предоставляет пользовательскому процессу прямой доступ к регистры ИО.
  • Поддерживает широкий спектр оборудования для программирования, от дешевого интернет-провайдера разъемы, которые соединяют интерфейс ISP AVR напрямую с параллельный порт компьютера (без дополнительной схемы) или последовательный порт (необходима дополнительная схема), более продвинутый Адаптеры ISP, использующие микросхему буфера/драйвера (например, 74HC373), до (более сложные) последовательно подключенные программаторы типа AVR910-стиль Устройства ISP, плата Atmel STK500 и Atmel JTAG ICE mkII. Самые популярные адаптеры поставляются предварительно определенными, добавление нового адаптера параллельного порта так же просто как редактирование файла конфигурации (перекомпиляция не требуется).
  • Поддерживает Intel Hex, Motorola S-Record и необработанные двоичные файлы для ввода и вывода, а также непосредственно содержимое памяти спецификация в командной строке (полезно, например, для байт). При вводе формат файла может определяться автоматически.
  • В «терминальном режиме» области памяти устройства могут быть проверены и, возможно, изменены. Это позволяет устанавливать предохранители в интерактивном режиме или изменить несколько ячеек EEPROM.

Как получить помощь или сообщить об ошибке

Чтобы получить поддержку AVRDUDE или связаться с другими пользователями этот инструмент, см. avr-chat список рассылки.

Люди, которые хотят каким-то образом внести свой вклад в проект, могут подписаться на avrdude-dev список рассылки и свяжитесь с командой разработчиков там.

Если вы уверены, что нашли ошибку в AVRDUDE, вы можете открыть ошибку отчет.

На данный момент существует не так много документации разработчиков для AVRDUDE. Есть уголок разработчика с какие-то случайные статьи. Некоторая дополнительная информация доступна на частном сайте Брайана.


Последнее изменение: пятница, 8 января, 09:14:46 CET 2010

AVRDUDE: 1 Введение

AVRDUDE: 1 Введение

Программа для загрузки/загрузки flash и eeprom микроконтроллера AVR.

Для AVRDUDE, версия 6.4, 29Ноябрь 2021.

Брайан С. Дин

Присылайте комментарии к AVRDUDE по адресу [email protected].

Используйте http://savannah.nongnu.org/bugs/?group=avrdude, чтобы сообщать об ошибках.

Copyright © 2003, 2005 Брайан С. Дин

Copyright © 2006 — 2013 Йорг Вунш

Разрешается изготовление и распространение дословных копий это руководство содержит уведомление об авторских правах и это уведомление о разрешении сохраняются на всех экземплярах.

Разрешено копировать и распространять модифицированные версии этого руководство на условиях дословного копирования, при условии, что весь полученная производная работа распространяется на условиях разрешения уведомление идентично этому.

Разрешено копировать и распространять переводы данного руководства. на другой язык, при указанных выше условиях для модифицированных версий, за исключением того, что это уведомление о разрешении может быть изложено в переводе, утвержденном Фондом свободного программного обеспечения.


AVRDUDE — AVR Downloader Uploader — это программа для скачивания и загрузка встроенной памяти микроконтроллеров Atmel AVR. Он может запрограммировать флэш-память и EEPROM, и где поддерживается последовательный протокол программирования, он может программировать биты предохранителей и замков. также обеспечивает режим прямой инструкции, позволяющий выдавать любые программные инструкции микросхеме AVR независимо от того, реализует ли AVRDUDE это специфическая особенность конкретного чипа.

AVRDUDE можно эффективно использовать через командную строку для чтения или записи все типы памяти чипов (eeprom, флэш-память, биты предохранителей, биты блокировки, сигнатурные байт) или в интерактивном (терминальном) режиме. Использование AVRDUDE из командная строка хорошо работает для программирования всей памяти чипа из содержимого файла, а интерактивный режим удобен для изучение содержимого памяти, изменение отдельных байтов eeprom, программирование предохранителей/замков и т. д.

AVRDUDE поддерживает следующие основные типы программаторов: Atmel STK500, устройства Atmel AVRISP и AVRISP mkII, Atmel STK600, JTAG ICE от Atmel (исходный, mkII и 3, последние два также в режиме ISP), appnote авр910, приложение avr109 (включая AVR Butterfly), серийные адаптеры bit-bang, и PPI (интерфейс параллельного порта). PPI представляет собой класс простых программистов, где строки программирования непосредственно подключен к параллельному порту ПК. Существует несколько конфигураций контактов для нескольких вариантов программаторов PPI, и AVRDUDE может быть настроен на работу с ними, либо указав соответствующий программатор в командной строке или создав новую запись в его Файл конфигурации. Все, что обычно требуется для новой записи, это сообщите AVRDUDE, какие контакты использовать для каждой функции программирования.

Ряд столь же простых адаптеров для программирования Bit-Bang, которые подключаются к последовательному порту также поддерживаются, среди них популярные Последовательный адаптер Ponyprog и адаптеры DASA и DASA3, которые раньше поддерживаться uisp(1). Обратите внимание, что эти адаптеры предназначены для подключен к физическому последовательному порту. Подключение к последовательному порту эмулированный поверх USB, скорее всего, вообще не будет работать, либо будет работать ужасно медленно.

Если у вас есть система Linux как минимум с 4 аппаратными GPIO доступны (как и почти все встраиваемые Linux-платы), без которых можно обойтись любые дополнительные аппаратные средства — просто подключите их к MOSI, MISO, RESET и SCK на AVR и используйте программатор типа linuxgpio. Это битбанг линии с использованием интерфейса Linux sysfs GPIO. Конечно, уход должен быть приняты о совместимости уровня напряжения. Также, хотя и не строго необходимо, настоятельно рекомендуется защитить контакты GPIO от перегруженные ситуации в некотором роде. Проще всего было бы просто поставить некоторые резисторы, включенные последовательно или еще лучше, используют буферный драйвер с 3 состояниями, например 74HC244. Взгляните на http://kolev.info/avrdude-linuxgpio для более подробной информации. подробное руководство по использованию этого типа программатора.

При установке Linux с прямым доступом к шине SPI и GPIO контакты, такие как на Raspberry Pi, «linuxspi» тип программатора можно использовать для прямого подключения и программирования чипа используя встроенные интерфейсы на компьютере. Требования к использованию этот тип заключается в том, что интерфейс SPI выставлен вместе с одним GPIO приколоть. GPIO служит выходом сброса, поскольку драйверы Linux SPI не удерживайте кнопку выбора ведомого, когда передача не происходит и, таким образом, его нельзя использовать в качестве вывода сброса. Доступный уровень следует использовать транслятор между шиной SPI/сбросом GPIO и чипом чтобы избежать потенциального повреждения контроллера SPI компьютера в случае, если чип работает на 5 В, а SPI работает на 3,3 В. GPIO, выбранный для сброса, можно настроить в конфигурации avrdude. файл с помощью сбросить запись под программатором linuxspi, или непосредственно в спецификации порта. Внешний подтягивающий резистор должен быть подключен между выводом сброса AVR и Vcc. Если Vcc не то же самое, что и напряжение SPI, это должно быть сделано на стороне AVR переводчик уровня для защиты оборудования от повреждений.

На Raspberry Pi заголовок J8 обеспечивает доступ к SPI и GPIO. линии.

Обычно контакты 19, 21 и 23 — это SPI MOSI, MISO и SCK, а контакты 24 и 26 будут служить выходами CE. Итак, рядом с этими булавками это контакт 22 как GPIO25, который можно использовать как / RESET, а контакт 25 может использоваться как GND.

Типичный кабель для программирования будет выглядеть следующим образом:

Контакт J8 Контакт ISP Имя
21 900 94 1 MISO
- 2 9004 5 Vcc — оставить открытым
23 3 SCK
19 4 MOSI
900 93 22 5 /СБРОС
25 6 GND

(Обратите внимание на уровень напряжения 3,3 В Raspberry Pi!)

Параметр -P имя порта по умолчанию имеет значение /dev/spidev0. 0:/dev/gpiochip0 для этого программатора.

STK500, JTAG ICE, avr910 и avr109/butterfly используют последовательный порт для связи с ПК. STK600, JTAG ICE mkII/3, AVRISP mkII, USBasp, avrftdi (и производные) и USBtinyISP программисты общаются через USB, используя libusb в качестве уровень абстракции платформы. avrftdi добавляет поддержку устройств FT2232C/D, FT2232H и FT4232H. Все они используют режим MPSSE, который имеет определенное сопоставление контактов. Бит 1 (младший бит байта в конфигурации файл) является SCK. Бит 2 — это MOSI, а бит 3 — это MISO. Бит 4 обычно сбрасывается. Детали 2232C/D поддерживаются только на интерфейсе A, но части H могут быть либо A, либо B (указывается параметр конфигурации usbdev). STK500, STK600, JTAG ICE и avr910 содержат встроенную логику для управления программированием цели устройство. Загрузчик avr109 реализует протокол, аналогичный avr910, но фактически реализовано в загрузочной области флэш-ПЗУ цели, как в отличие от внешнего устройства. Принципиальное различие между этими двумя типами заключается в протокол, используемый для управления программатором. Протокол avr910 очень упрощенный и может быть легко использован в качестве основы для простого, самодельного программатор, так как прошивка доступна онлайн. С другой стороны, протокол STK500 более надежен и сложен, а прошивка нет в открытом доступе. JTAG ICE также использует протокол последовательной связи, аналогичный на прошивку STK500 версии 2 один. Однако, поскольку JTAG ICE предназначен для отладки на кристалле, а также программирования памяти, протокол более сложный. (Протокол JTAG ICE mkII также может работать поверх USB.) Поддерживается только функция программирования памяти JTAG ICE. от АВРДЮД. Для JTAG ICE mkII/3 поддерживаются режимы JTAG, debugWire и ISP при условии у него версия прошивки не ниже 4.14 (десятичная). Ниже приведены ограничения debugWire. Для устройств ATxmega JTAG ICE mkII/3 поддерживается в режиме PDI при условии, что он аппаратное обеспечение версии 1 и микропрограмма версии не ниже 5. 37 (десятичная).

Поддерживается Atmel-ICE (ARM/AVR) (режимы JTAG, PDI для Xmega, debugWIRE, ISP).

Платы Atmel XplainedPro, использующие протокол EDBG (совместимые с CMSIS-DAP), поддерживается типом программатора «jtag3».

Платы Atmel XplainedMini, использующие протокол mEDBG, также поддерживается типом программатора «jtag3».

AVR Dragon поддерживается во всех режимах (ISP, JTAG, PDI, HVSP, PP, debugWire). При использовании в режиме JTAG и debugWire AVR Dragon ведет себя аналогично JTAG ICE mkII, поэтому все комментарии, относящиеся к этому устройству, также будет применяться. При использовании в режимах ISP и PDI AVR Dragon ведет себя аналогично AVRISP mkII (или JTAG ICE mkII в режиме ISP), поэтому все комментарии будут применяться там. В частности, Dragon стартует с довольно быстрыми часами интернет-провайдера. частота, поэтому -B тактовая частота может потребоваться для стабильной связи с провайдером. Для устройств ATxmega AVR Dragon поддерживается в режиме PDI при условии, что он имеет версию прошивки не ниже 6. 11 (десятичной).

Поддерживаются монтажные платы

(например, Arduino Mega 2560 Rev3), использующие Протокол STK500 V2.x, но простой переключатель DTR/RTS для установки плат в режим программирования. Тип программатора – «проводной». Обратите внимание, что в этом случае, скорее всего, потребуется опция -D, потому что загрузчик перезапишет память программы, но никакое настоящее стирание чипа не может выполняться.

Плата Arduino (очень похожая на STK500 1.x) поддерживается через собственная спецификация типа программатора «arduino». Этот программатор работает на Arduino Uno Rev3.

BusPirate — универсальный инструмент, который также можно использовать в качестве программатора AVR. К одному BusPirate можно подключить до 3 независимых AVR. Видеть раздел о расширенные параметры ниже для деталей.

Адаптеры USBasp ISP и USBtinyISP также поддерживаются при условии, что AVRDUDE был скомпилирован с поддержкой libusb. Они оба имеют простые реализации USB только для встроенного ПО, работающие на ATmega8 (или ATmega88) или ATtiny2313 соответственно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *