Библиотека LUFA (раннее название MyUSB) версия 101122
Альтернативные стеки USB AVR

LUFA не единственный стек, доступный для USB AVR, хотя возможно он является самым лучшим (см. Почему стоит использовать LUFA?). Для целостности изложения и в интересах выбора пользователем, здесь перечислены другие известные стеки USB AVR.

Аппаратные стеки USB AVR

Эти известные альтернативные стеки USB разработаны для запуска исключительно на микроконтролллерах серий USB AVR, которые содержат встроенный в чип аппаратный контроллер USB, что позволяет получить максимум возможностей и скорости.

  • Name: Стек USB AVR от компании Atmel (Atmel Inc.)
    Cost: Free
    License: Ограниченная лицензия Atmel (для подробностей см. страницу загрузки Atmel)
    Website: http://atmel.com/dyn/products/app_notes.asp?family_id=607#USB
    Описание: Официальный стек USB AVR от Atmel, для линейки 8-битных USB AVR этой компании. Каждая серия USB AVR выделена в отдельный стек для загрузки, совместимый одновременно и с AVR-GCC, и с IAR.
  • Name: Стек для AT90USB1287 от Dr. Stefan Salewski (Dr. Stefan Salewski)
    Cost: Free
    License: GPL
    Website: http://www.ssalewski.de/AT90USB_firmware.html.en
    Описание: GPL-библиотека, разработанная для AT90USB1287 немецким физиком Dr. Stefan Salewski, Компилируется под AVR-GCC и потенциально может быть модифицирована для работы с другими моделями USB AVR.
  • Name: Стек FreakUSB (FreakLabs)
    Cost: Free
    License: Модифицированная лицензия BSD
    Website: http://freaklabs.org/index.php/FreakUSB-Open-Source-USB-Device-Stack.html
    Описание: Стек USB с открытыми исходниками для выбора USB AVR. Содержит простой драйвер класса CDC-ACM, однако возможны реализации драйверов других классов.
  • Name: Стек PJRC Teensy (Paul Stoffregen)
    Cost: Free
    License: BSD
    Website: http://www.pjrc.com/teensy/usb_debug_only.html
    Описание: Не очень полный стек в виде коллекции демок с работающим USB, специально разработанная библиотека для линейк PJRC Teensy микроконтроллеров USB AVR, и для других чипов USB AVR может потребоваться модификация кода этой библиотеки. Эти примеры минимального кода показывают внутреннюю работу с контроллером USB, без каких либо абстракций, имеющихся в других стеках USB AVR.

Программные стеки AVR

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

  • Name: AVR309: программная реализация USB (Atmel)
    Cost: Free
    License: ни одна из установленных
    Website: http://www.atmel.com/dyn/Products/app_notes.asp?family_id=607
    Описание: Официальная программная реализация USB от Atmel - апноут, содержащий работу Igor Cesko. Это минимальная реализация программного USB, дающая функционал HID. Меньше опций компиляции, чем у V-USB (см. далее).
  • Name: V-USB (Objective Development)
    Cost: Free для некоторых вариантов использования, по лицензированию см. сайт авторов
    License: Двойная GPL2/модифицированная
    Website: http://www.obdev.at/products/vusb/index.html
    Описание: Отлично реализованный и полный программный стек USB 1.1 для некоторых моделей AVR, реализующий низкоскоростной HID. Используется во многих коммерческих и некоммерческих разработках, с предоставленными пользователями проектами, доступными на сайте компании. Используется код на языке C, для критичных к времени выполнения секций используется ассемблер.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines