Написать драйвер самому

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Встал на лапы
Сообщения: 89
Зарегистрирован: Вт июн 01, 2010 14:07:27

Сообщение NikVE »

Вот, есть интерес научиться писать драйверы для компьютера. Пробовал ли кто это делать? Есть ли простая литература "для чайников"?
Реклама
Электрический кот
Аватара пользователя
Сообщения: 1006
Зарегистрирован: Ср окт 04, 2017 20:47:40

Сообщение valentinovich »

Вопрос более чем странный. :roll:
Вы умеете вообще писать хоть какие-то программы для компьютера?
Если да, то драйвер ничем от таковых не отличается.
Если нет, тогда есть смысл сначала научиться составлять логику желаемого процесса и далее уже просто научится писать программы, вот тогда теперешний ваш вопрос перестанет быть вопросом. Изображение
Реклама
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

но появится куча других )
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 6335
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

[uquote="valentinovich",url="/forum/viewtopic.php?p=4615280#p4615280"]драйвер ничем от таковых не отличается[/uquote]
Отличается, даже очень. Он должен взаимодействовать: с операционной системой - раз, с железом - два. Поэтому надо до тонкостей знать структуру и того, и другого.
И к примеру, опытный программер с 10-летним стажем, нормально пишущий проги расчётные, статистические и пр. - не значит, что он тут же сядет и изваяет драйвер. Порог вхождения достаточно высок.
ТСу могу посоветовать: забей. Насовсем.
Изображение
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 89
Зарегистрирован: Вт июн 01, 2010 14:07:27

Сообщение NikVE »

Я могу на С++ написать "Привет мир". Еще разные там циклы и вводы/выводы. Не более...
Реклама
Друг Кота
Аватара пользователя
Сообщения: 6335
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Ну и достаточно :)
За драйвера не берись - надолго испортишь себе и окружающим настроение.
Изображение
Реклама
Встал на лапы
Сообщения: 89
Зарегистрирован: Вт июн 01, 2010 14:07:27

Сообщение NikVE »

Может быть есть какой-то ресурс для начинающих? Где с простых примеров можно начать?
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1102
Зарегистрирован: Пт апр 09, 2010 16:06:38
Откуда: Тула

Сообщение Andrey_B »

Создание драйвера будет происходить с помощью текстового редактора "Note Pad". Приступим к непосредственному написанию драйвера. Пиши:

Код: Выделить всё

[VERSION]

ClASS=SYSTEM

SIGNATURE="$CHICAGO$"

PROVIDER=%PC%

SETUPCLASS=BASE

[ClASSINSTALL]

ADDREGPC

CLASSNAME="MOUSE PAD"

[MANUFACTURER]

%PC%=PC

[PC]

MOUSE PAD,,,,%CLASSNAME%

[STRINGS]

PC="XAKEP Magazine"
После того как ты все это проделал, сохраняй файл как pad.inf.

Далее заходи в "Мой компьютер", "Панель управления", жми "Установка оборудования", отказывайся от автоматического поиска устройств, выбирай из списка "Системные устройства", дальше "Установить с диска" и указывай путь к pad.inf.

Все самое сложное ты сделал!!! Теперь, чтобы увидеть, ради чего было потрачено столько усилий, зайди в "Мой компьютер", "Панель управления", "Система", "Системные устройства"... и ты увидишь, что у тебя поселилось новое устройство - "mouse pad"!
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

хитро. тогда я тоже умею писать драйвера. Для Интеловских видеокарт (Интел предоставляет конструктор а-ля "визард")
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 9356
Зарегистрирован: Пт апр 30, 2010 14:56:35
Откуда: Подмосковные джунгли.

Сообщение AL.EX »

[uquote="NikVE",url="/forum/viewtopic.php?p=4615242#p4615242"]Вот, есть интерес научиться писать драйверы для компьютера. Пробовал ли кто это делать? Есть ли простая литература "для чайников"?[/uquote]
Попробуй покурить вот это, для начала -> https://learn.microsoft.com/ru-ru/windo ... rst-driver
Семь бед, один Reset.
Мучитель микросхем
Сообщения: 439
Зарегистрирован: Ср сен 02, 2015 07:47:20

Сообщение HardWareMan »

Для Windows, например, можно начать с DDK: Driver Development Kit. Существует своя версия под каждый номер Windows.
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Может будет интересно https://www.cyberforum.ru/blogs/204791/blog3078.html

Драйвер подписывать нужно, иначе винда не позволит его установить. Подпись стоит денег и требует юридическое лицо для регистрации.
valentinovich писал(а):Если да, то драйвер ничем от таковых не отличается.
Не совсем.
Приложения используют WinAPI, а драйверы - функции ядра. Это не одно и тоже.
В ядре ответственность гораздо выше. Если произойдет исключение, появится "синька".
Jack_A писал(а):Он должен взаимодействовать: с операционной системой
Точнее с ядром ОС.
Andrey_B писал(а):После того как ты все это проделал, сохраняй файл как pad.inf.
Это не драйвер.
Друг Кота
Аватара пользователя
Сообщения: 3490
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Сообщение smacorp »

Мурик, ТС говорил именно о Windows? Может он драйвер под OS/2 мечтает написать? Или там тоже приложения WinAPI используют?
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Мучитель микросхем
Сообщения: 439
Зарегистрирован: Ср сен 02, 2015 07:47:20

Сообщение HardWareMan »

[uquote="Мурик",url="/forum/viewtopic.php?p=4617924#p4617924"]
Andrey_B писал(а):После того как ты все это проделал, сохраняй файл как pad.inf.
Это не драйвер.[/uquote]
Мы 20+ лет назад делали "настоящий" драйвер. С mousepad.dll и mousepad.vxd. Можно было задавать размер ковра для соответствия диагонали монитора и там был индикатор уровня китайского запаха дешёвого коврика. Жаль, всё утеряно, эх.
Встал на лапы
Сообщения: 89
Зарегистрирован: Вт июн 01, 2010 14:07:27

Сообщение NikVE »

[uquote="Andrey_B",url="/forum/viewtopic.php?p=4615416#p4615416"]Создание драйвера будет происходить с помощью текстового редактора "Note Pad". Приступим к непосредственному написанию драйвера. Пиши:

Код: Выделить всё

[VERSION]

...

[STRINGS]

PC="XAKEP Magazine"
После того как ты все это проделал, сохраняй файл как pad.inf.

... и ты увидишь, что у тебя поселилось новое устройство - "mouse pad"![/uquote]
Ух ты! Еще бы понимать - что к чему в этом коде...
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

NikVE, это не драйвер. В нем нет исполняемого кода.
Встал на лапы
Сообщения: 89
Зарегистрирован: Вт июн 01, 2010 14:07:27

Сообщение NikVE »

А что это такое тогда?
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Это установочный файл, который в данном случае отобразит в диспетчере устройств несуществующее устройство. https://en.wikipedia.org/wiki/INF_file
У драйверов расширение sys.

В качестве примера несколько драйверов скрывающих процесс в диспетчере задач и защищающих его от завершения. Работает на x86 системе до Win10.
Дрова нужно подписать как минимум тестовой подписью.
Вложения
pbNoKill_x86.7z
(40.72 КБ) 65 скачиваний
Встал на лапы
Сообщения: 89
Зарегистрирован: Вт июн 01, 2010 14:07:27

Сообщение NikVE »

Благодарю! Однако, интересно!
Ответить

Вернуться в «Интеграция с ПК»