Как начать работу с драйверами устройств - PullRequest
2 голосов
/ 04 августа 2010

Я хочу кодировать драйверы на C в Windows XP / VISTA / 7, хотя я думаю, что это очень сложно. Могу ли я получить некоторые подсказки относительно того, как начать или книги, чтобы следовать?Драйверы могут быть с моего USB-порта / PCI / PCI Express на ПК !!

Я знаю, где я могу искать книги, я хотел бы знать, с каких базовых знаний я должен начать.Нужно ли мне иметь знания аппаратного обеспечения и какие конкретные книги хороши для новичка, как я?

Ответы [ 2 ]

3 голосов
/ 04 августа 2010

Самым первым шагом является загрузка WDK от Microsoft.

WDK содержит множество примеров драйверов и обширную документацию по API ядра.Кроме того, среда сборки и компилятор для использования с драйверами.

При этом вы можете выбрать, какую модель драйвера использовать, какой API следовать ... и т.д.

Отличный источник информации оИнтернет osronline со множеством статей и сообществом, где можно найти ответы на конкретные вопросы о разработке драйверов под Windows.


На конкретный вопрос, какими должны быть ваши базовые знания.

  • Свободное знание C
  • Использование систем сборки (makefile)
  • Многопоточность мьютекс / спин-блокировка / параллелизм
  • Общее знание принципов ОС (например, разницамежду виртуальной / физической памятью, подкачкой, очередями сообщений ...)
  • Конкретные знания области, в которую вы хотите углубиться.(Например, интерфейс регистрации для USB-устройств / знания о файловых системах / и т. Д.)

(Не столько о самом оборудовании, потому что в большинстве случаев Windows скрывает от вас низкоуровневые сведения об оборудовании)

0 голосов
/ 04 августа 2010

Было бы проще сначала работать на более низком уровне, как на микроконтроллерах. Это даст вам представление о том, как аппаратное обеспечение ведет себя с программным обеспечением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...