Библиотека LUFA (раннее название MyUSB) версия 101122
Библиотека LUFA (раннее название MyUSB) Documentation
LUFA.png
Дизайн логотипа Ryo Photography


http://www.lufa-lib.org


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

LUFA - open-source (имеет открытый исходный код) библиотека USB для микроконтроллеров AVR, имеющих аппаратную поддержку USB, выпущенная под лицензией MIT (см. Лицензия на исходный код). Она поддерживает большое количество моделей USB AVR и макетных плат (см. Поддержка устройств и аппаратуры). LUFA разработана, чтобы предоставить простую в использовании рабочую среду для разработки периферийных устройств USB и хостов.

LUFA фокусируется только на разработке USB со стороны микроконтроллера (не ПО хоста на компьютере); она не включает в себя возможности для разработки USB драйверов хоста PC или программ - для этого используйте другие проекты наподобие Windows Driver Development Kit, Windows USB Device Mode Framework и libusb. В то время как пользовательские USB-устройства могут быть сделаны на LUFA с использованием таких дополнительных инструментов, для простоты все встроенные в LUFA демонстрационные примеры рассчитаны на использование встроенных драйверов операционной системы для каждого класса USB.

В настоящее время библиотека имеет текущий стабильный релиз, доступный для загрузки и подходящий для встраивания в проекты пользователя в обоих режимах USB - и хоста и устройства. Для информации по развитию проекта см. ссылку на блог в Ресурсы библиотеки.

LUFA написана специально для использования совместно с бесплатным компилятором AVR-GCC, и использует несколько расширений, специфичных только для GCC, чтобы сделать API библиотеки более оптимизированным и устойчивым. Вы свободно можете загрузить AVR-GCC в виде удобного пакета для Windows, с вебсайта WinAVR (см. Ресурсы библиотеки).

Из периферии AVR для LUFA нужен только сам по себе контроллер USB и его прерывания - LUFA не требует использования таймеров микроконтроллера или другой аппаратуры, оставляя больше свободных ресурсов чипа для разработчика приложения.

Вместе с LUFA в загружаемом пакете имеется набор демо-приложений, плюс несколько бутлоадеров разных классов и open source проекты, основанные на использовании библиотеки LUFA.

См. также дополнительно:

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines