Программирование драйверов - одна из тех вещей, о которых я хотел хотя бы немного задуматься, но всякий раз, когда у меня хватило времени на то, чтобы сэкономить на руках и устроиться на исследования, я почти полностью нашел очень специальные вопросы по этому вопросу или очень широкие интродукции.
Теперь я понимаю, что это не тривиальная тема, но я лично лучше всего сижу и сажусь и делаю вещи. Поэтому я надеюсь, что вы можете дать мне несколько указаний, с чего начать. Итак, ради практического подхода, рассмотрим следующий сценарий: у меня есть малина Pi у меня в руках и вы хотите использовать контакты GPIO в качестве последовательного порта. (Мне бы хотелось услышать другие предложения, если вы считаете, что это сложно для проекта стартера. Это действительно больше для этого, результат является вторичным). Таким образом, Pi запускает Debian wheezy, и с этого я и начинаю.
Учитывая это, что мне нужно (с программным обеспечением), чтобы начать? В частности, я прошу о следующем:Введение в программирование драйверов
- Какой компилятор я использую?
- Помимо компилятора и текстового редактора, нужны ли мне дополнительные инструменты?
- Есть ли какая-то схема, которую я мог бы скопировать, чтобы начать?
- Возможно, вы знаете о большом введении, которое мне просто не удавалось найти? Я обнаружил, что записанные лекции могут быть чрезвычайно полезными, и я был бы абсолютно готов пройти полный курс, если это начнется.
- Знаете ли вы, что проект достаточно прост, чтобы начинающий учился у него, читая источники напр. GitHub?
И, наконец, я полностью ошибаюсь? Я вполне мог бы быть; Я программировал довольно долгое время, но обычно на высоких уровнях абстракции, которые предоставляют языки с временем автономной работы. У меня есть некоторый опыт программирования на C++, и указатели для меня не черная магия, но я не очень хорошо знаком здесь.
Кроме того, если вопиющее отсутствие понимания драйверов говорит из этого сообщения, пожалуйста, укажите его мне.
Похоже, вы спрашиваете о написании драйвера физического устройства, а не о логическом (обычно это то, о чем я думаю, когда думаю «драйвер»). Вы пробовали использовать ардуино? http://arduino.cc/en/Tutorial/HomePage – Benubird