Этот пакет даст вам все, что нужно для программирования на Win32-ассемблере. Этот пакет теперь содержит все заголовочные файлы и библиотеки импорта. Позднее была добавлена возможность написания программ для Windows. Ные ОС класса Windows или Linux. Для понимания работы подсистемы ввода вывода, составляющим звеном. Драйвера предназначены для операционных систем Windows XP и Vista (32-64bit). Разработка устройства USB - как начать работу с библиотеками V- USB и libusb . В этих устройствах протокол USB реализован программно - в firmware, прошиваемом в микроконтроллер. Кроме того, пакет V- USB содержит пример программ для хоста (компьютер, к которому подключаются USB- устройства), которые реализуют обмен данными с разработанными устройствами USB. Библиотека V- USB разработана компанией Objective Development и доступна как для свободного, так и для коммерческого использования (в зависимости от выбранной Вами лицензии). Программы для хоста используют, в свою очередь, другую библиотеку - libusb . Будем для простоты называть программы, прошиваемые в микроконтроллер термином firmware, а программы, которые работают на компьютере и общаются с разрабатываемыми нами устройствами USB - термином ПО хоста. Например, если я использую Windows XP DDK, то я должен создать. Еще для работы нашего драйвера нам нужна переменная, в которой будет. Добавляем места на диске для Linux–сервера в облаке Azure Pack . Главная » РАБОТА С ПРОГРАММАМИ » Программирование » Assembler для DOS, Windows и UNIX в хорошем качестве. В книге освещаются все аспекты современного программирования на ассемблере для DOS, Windows 95/NT и UNIX (Solaris, Linux и FreeBSD), включая создание. Так как для демонстрации процесса написания драйвера USB устройства нам Написание консольного приложения Windows для работы с нашим. Итак, процесс работы с пакетом AVR- USB (V- USB) и библиотекой libusb на платформе Windows по шагам. Для просмотра и редактирования файлов Makefile и исходников нужно обзавестись хорошим текстовым редактором, поддерживающим окончания строк в стиле Unix (для тех, кто в танке - в Windows принято заканчивать строки в текстовых файлах как 0x. D, 0x. 0A, а в Unix более экономно - 0x. A). Я рекомендую скачать notepad. Там же описано, как прикрутить notepad. Скачайте пакет библиотеки V- USB со странички . Версия пакета была представлена под именем avrusb- YYYYMMDD. Скачивайте самую последнюю версию. Распакуйте в любое место папку, содержащуюся в архиве. В моем архиве была папка avrusb- 2. В папке c: \avrprj\avrusb- 2. ПО хоста. Всего там 5 папок, каждая из которых хранит отдельный проект: custom- class - пример firmware и ПО хоста, показывающую работу с разработанным USB- устройством типа custom class. ПО хоста, показывающую работу с USB- устройством HID- класса путем отправки ему управляющих запросов (control request). Демонстрируется обмен данными в обоих направлениях. ПО хоста, также показывающую работу с устройством HID. Демонстрируется обмен данными в обоих направлениях. HID устройство типа мышь. ПО хоста - универсальная программа, работающая с USB- устройствами. Для компиляции firmware и ПО хоста нужны специальные программные пакеты, установку и использование которых рассмотрим далее. Понадобится либо avr- gcc, либо IAR Embedded Workbench for AVR. В этой статье я рассматриваю установку и работу с avr- gcc. Пакет avr- gcc на платформе Windows входит в состав пакета Win. AVR . Я скачал Win. AVR- 2. 00. 80. 61. После завершения закачки запустите его. Выбор языка установки ни на что не влияет, я выбрал русский. Инсталлятор предлагает выбрать папку для установки, я согласился на предлагаемую по умолчанию папку C: \Win. AVR- 2. 00. 80. 61. Далее запросит установить снять галочки - выбрать состав устанавливаемых компонентов (Install Files, Add Directories to PATH (Recommended), Install Programmers Notepad) - я оставил все компоненты выбранными, как и предлагалось. После установки в переменную окружения Path пропишутся пути C: \Win. AVR- 2. 00. 80. 61. C: \Win. AVR- 2. 00. Второй путь важен для работы утилиты make. Чтобы изменения для переменной Path вступили в силу для окружения пользователя, нужно перелогиниться (по крайней мере у меня так было под w. Откомпилируем firmware из папки c: \avrprj\avrusb- 2. Запустим cmd, перейдем в эту папку (cd c: \avrprj\avrusb- 2. Введем команду make, которая откроет файл Makefile в текущей папке и выполнит имеющиеся там команды. Makefile в текущей папке сделан так, что если ввести просто make без параметров, то выведется подсказка: C: \avrprj\avrusb- 2. This Makefile has no default rule. Если у Вас подключен программатор avrdude (Makefile настроен на него), то для программирования кристалла просто введите make program. Я здесь не рассматриваю, каким образом выбирается тактовая частота для микроконтроллера или его тип - это делается путем редактирования содержимого Makefile. Все хорошо расписано как в комментариях Makefile, исходного кода, а также в файлах readme. Переведенный на русский язык пакет V- USB скачайте по ссылке . Теперь займемся ПО хоста. Для его компиляции нам понадобится gcc. Min. GW . Пакет Min. GW - это набор портированных с Unix утилит командной строки. Я скачал Min. GW- 5. Это хитрый инсталлятор, который при установке скачивает из интернета все необходимое. При запуске он запросит выбрать . Далее спросит, какой пакет устанавливать - Previous, Current или Candidate. Выбираем то, что предлагается по умолчанию - Current. Далее запросят выбрать устанавливаемые компоненты. По умолчанию предлагается только . Утилиту Make выбирать не стал, поскольку она у меня уже работает (поставилась из пакета Win. AVR). Далее предложат выбрать папку для установки - C: \Min. GW, соглашаемся. Далее предложат выбрать место для ярлыков, потом начнется процесс загрузки. Грузилось у меня долго, около часа, на скорости примерно 2. Грузится все в текущую папку, откуда запускали Min. GW- 5. 1. 4. exe. После установки gcc. Min. GW\bin\, но в переменной Path этот путь не прописан, надо добавить вручную, см. Теперь надо установить библиотеку libusb. Найдите там ссылку для скачки наподобие libusb- win. Это установщик бинарников библиотеки (бинарники позволяют работать любым приложениям Windows, использующим Lib. USB), а также мастер- инсталлятор драйвера фильтра). Ставим, установщик предлагает по умолчанию в папку . После установки, создания ярлычков инсталлятор предложит запустить тест- программу (. Программа очень полезная, может пригодиться в дальнейшем для просмотра информации об USB- устройствах. Она показывает все USB- устройства, которые корректно определены в Windows и имеют драйвера (на скриншоте ниже видны два USB- устройства - флешка Kingston Data. Traveler 2. 0 и debug. WIRE эмулятор ATMEL JTAGICE mk. II). Опишу установку драйверов поподробнее, потому что иногда у пользователей библиотеки бывают с этим проблемы, особенно когда они подключают новое USB- устройство к компьютеру, с другими VID и PID (даже если на нем уже ранее была установлена библиотека libusb). Проблема заключается в том, что новому устройству USB (с новыми VID и PID) требуется новый так называемый драйвер фильтра (filter driver). В процессе установки libusb- win. X. X. X. X как раз и будет предложено установить драйвер фильтра на все обнаруженные USB устройства, а Ваша задача выбрать именно то устройство, которое нужно, и установить драйвер фильтра именно на него. Итак, скачиваем libusb- win. На запрос подтверждения запуска (если нельзя проверить издателя) щелкните на кнопку . Ничего менять не надо, тупо жмем Next: Дальше предложат поменять путь и название папки, в которой будут лежать ярлычки. Ничего менять не надо, тупо жмем Next: На этом установка библиотеки Lib. USB завершена. Если оставить галочку . Это важный шаг, который я решил вынести в отдельный раздел 8a. Теперь должны нормально компилироваться примеры ПО хоста командной строки, предназначенные для GCC. Если компиляция идет с ошибками, то возможно, что у Вас в папке C: \Program Files\Lib. USB- Win. 32\ не хватает папок include и lib. Можете скачать установленный каталог Lib. USB- Win. 32 полностью по ссылке . Установка драйвера фильтра. Как я уже упоминал, программы ПО хоста, написанные с использованием библиотеки libusb, на платформе Windows общаются с устройствами USB через так называемый драйвер фильтра. Если драйвер фильтра USB- устройства не установлен, то при попытке обращения к USB- устройству Вы можете получить сообщения типа . Проблема устраняется установкой драйвера фильтра на устройство. Визард установки драйвера фильтра запускается в процессе установки библиотеки libusb (процесс описан на предыдущем шаге), но можно также запустить визард драйвера фильтра (Filter Wizard) и отдельно из меню запуска программ: После запуска фильтра появится окно, где выбирается необходимое действие - установить драйвер фильтра на USB- устройство, удалить ранее установленный на USB- устройство драйвер фильтра, удалить все установленные драйвера фильтра со всех USB- устройств. В случае проблем с доступом к USB- устройству нам нужно установить драйвер фильтра, поэтому выбираем 1- й пункт, . Нужно по значениям VID и PID найти в списке наше проблемное USB- устройство, выбрать его и нажать кнопку Install. Далее произойдет быстрая процедура установки драйвера фильтра: По окончании установки драйвера фильтра получим соответствующее сообщение. Теперь проблем с обращением к USB- устройству через библиотеку libusb не будет. Попробуем откомпилировать c: \avrprj\avrusb- 2. ПО хоста, которое может управлять нашим устройством USB). Сначала отредактируем файл c: \asm\avrusb- 2. Makefile. Эти 2 строки надо закомментировать (комментарий начинается с символа # в начале строки): #USBFLAGS = `libusb- config - -cflags` #USBLIBS = `libusb- config - -libs`далее, нужно изменить пути до файлов библиотеки. Было так: USBFLAGS = - I/usr/local/include USBLIBS = - L/usr/local/lib - lusbтеперь должно быть так (не спрашивайте меня, почему. Это мне стоило нескольких часов . Как обычно, запускаем cmd и переходим в нашу папку (cd c: \avrprj\avrusb- 2. Вводим make, без параметров: c: \avrprj\avrusb- 2. I. Теперь нужно собрать USB устройство по одной из схем в папке c: \avrprj\avrusb- 2. Можно купить готовую плату AVR- USB- MEGA1. Теперь нужно прошить программу в микроконтроллер (прошивку c: \avrprj\avrusb- 2. Как это делать, рассказывать не буду, в Интернете полно информации по теме. Ищите по ключевым словам ISP, avrdude, Pony. Prog, ITAJICE mk. II. 1. 2. Подключите Ваше устройство к компьютеру. Если Вы его собрали и прошили правильно, то появится сообщение, что обнаружено новое устройство LEDCtl. HID: а потом еще одно, USB Human Interface Device: Если посмотреть в Диспетчере Устройств, то в папке Human Interface Devices появится 2 новых устройства: Если посмотреть свойства USB Human Interface Device, то мы увидим имя LEDCtl. HID, которое было задано в макросе USB. Теперь попробуем поуправлять устройством. Сначала запустим set- led. Наше устройство работает!
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
October 2016
Categories |