Программирование AVR: работа с USB Где взять код USB загрузчиков для микроконтроллеров AVR USB? Thu, June 29 2017  

Поделиться

нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Где взять код USB загрузчиков для микроконтроллеров AVR USB? Печать
Добавил(а) microsin   

[Микроконтроллеры AVR USB]

Под микроконтроллерами AVR USB подразумеваются микроконтроллеры AVR компании Atmel, которые имеют на борту аппаратный интерфейс USB. Не новость, что для упрощения загрузки кода в микроконтроллеры AVR USB можно применить загрузчик (USB bootloader). Эту технологию Atmel называет USB DFU Flip [2, 3] и предлагает для неё соответствующее программное обеспечение.

at90usb162-04IMG 8330 AVR-USB162MU_IMG_1139sm.JPG AVR-USB32U4-top-IMG 2310 userial_v1.0.jpg

По умолчанию все микроконтроллеры AVR USB попадают к потребителю с прошитыми загрузчиками. Это очень удобно, потому что можно в готовом изделии прямо через USB записать в микроконтроллер AVR нужную программу (никакой программатор для этого не требуется, только утилита DFU Flip). Однако бывают случаи, когда необходимо восстановить стертый загрузчик (это можно сделать с помощью внешнего программатора ISP, debugWire или JTAG). Скачать HEX-файлы загрузчиков и GUI-утилиту Flip можно с сайта Atmel, но там бывает не так просто найти то что нужно, и разобраться в этом.

[Загрузчики AVR USB от Atmel]

Двоичный код загрузчиков можно скачать по ссылке [1], или с сайта компании Atmel (к сожалению, исходного кода нет). В архиве megaUSB_DFU_Bootloaders.zip находятся файлы прошивок загрузчиков. Для удобства я составил таблицу, по которой можно разобраться, для какого микроконтроллера каждая прошивка предназначена.

HEX-файл прошивки Микроконтроллер AVR USB
at90usb82-bl-usb-1_0_5.hex AT90USB82, ATmega8U2
at90usb162-bl-usb-1_0_5.hex AT90USB162, ATmega16U2
at90usb64-bl-usb-1_0_0.hex AT90USB646, AT90USB647
at90usb128-bl-usb-1_0_1.hex AT90USB1286, AT90USB1287
ATMega16U4-usbdevice_dfu-1_0_1.hex ATmega16U4
ATMega32U4-usbdevice_dfu-1_0_0.hex ATmega32U2, ATmega32U4

[Загрузчик AVR USB из библиотеки LUFA]

Благодаря тому, что протокол USB DFU опубликован [4], появился альтернативный загрузчик для микроконтроллеров AVR USB, поддерживающий этот протокол. Этот загрузчик можно найти в библиотеке LUFA [5] в виде исходного кода. Код можно скомпилировать с помощью тулчейна WinAVR (или тулчейна из Atmel Studio) на любой микроконтроллер AVR USB.

[Ссылки]

1megaUSB_DFU_Bootloaders.zip - прошивки загрузчиков (файлы HEX) для микроконтроллеров AVR USB.
2. Загрузчик USB DFU компании Atmel.
3. AVR282: обновление firmware через USB.
4AVR4023: протокол FLIP USB DFU.
5. LUFA - бесплатная библиотека USB для микроконтроллеров Atmel AVR.

 

Комментарии  

 
0 #1 Lexleo.lv 31.03.2017 21:33
Для ATmega32U2 загрузчик от ATmega32U4 не подходит. Подходит отсюда: http://community.atmel.com/projects/atmega32u2-dfu-bootloader-dump

microsin: скачайте бинарник загрузчика с сайта Atmel. Как вариант, можете скомпилировать загрузчик из библиотеки LUFA (там есть проект с поддержкой протокола DFU).
Цитировать
 

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


Защитный код
Обновить

Top of Page