2010-02-19 4 views
2

Я с большим энтузиазмом пишу драйверы устройств для микроконтроллера (например, PIC, Atmel и т. Д.). Поскольку я новичок в этой области кодирования контроллера, я просто хочу знать, являются ли записи драйверов устройств для контроллера такими же, как мы пишем для linux (или любой другой ОС)?Драйвер устройств записи для микроконтроллера (любой)

Также может кто-нибудь предложить какой-нибудь учебник по созданию драйверов устройств для одного и того же ..?

Спасибо,

ответ

3

Если вы подумываете о разработке драйверов устройств для взаимодействия вашего устройства с главным компьютером (возможно, с использованием USB), то большинство микроконтроллеров в настоящее время реализуют классы по умолчанию, которые полагаются на собственные драйверы.

Конкретный пример:

Если вы используете PIC18F4555, вы можете использовать обычный HID драйвер (устройства интерфейса человек) окна для связи с микроконтроллером (дал вам реализовать это правильно). Нет необходимости разрабатывать драйвер.

2

Написание драйвера устройства для MCU довольно далеко от написания его для ОС. Большинство MCU не будут работать с ОС на них вообще. Вы, как правило, заканчиваете тем, что пишете несколько низкоуровневых сервисных процедур прерывания (ISR) и заполняете буферы, что ваше прикладное программное обеспечение закончит опорожнение. Вам не нужно вписываться в парадигму драйвера устройства, которую определил O/S. В основном вы должны прочитать техническое описание устройства, с которым вы хотите взаимодействовать, и читать и записывать в его память по любому интерфейсу, который он может использовать (например, SPI, I2C, UART и т. Д.). В конечном итоге драйвер устройства должен обеспечивать интуитивные вызовы функций прикладному программному обеспечению.

0

Если вы используете AVR MCU, например, atmega, вы можете использовать vusb (https://www.obdev.at/products/vusb/index.html) для тех MCU, которые не имеют HID и обрабатывают прерывания, подключив D + и D-контакты USB к цифровым портам ввода/вывода MCU. Пакеты atmegaU2 имеют свои собственные порты связи USB и HID.

+0

вы также можете использовать LUFA (http://www.fourwalledcubicle.com/LUFA.php) –

 Смежные вопросы

  • Нет связанных вопросов^_^