OberonCore https://forum.oberoncore.ru/ |
|
Создание драйвера для Windows https://forum.oberoncore.ru/viewtopic.php?f=1&t=304 |
Страница 1 из 1 |
Автор: | Калям [ Пятница, 22 Сентябрь, 2006 22:46 ] |
Заголовок сообщения: | Создание драйвера для Windows |
![]() Требуется написать драйвер.
Зная язык, нужно подобрать инструментальную среду. Вот с этим как раз и возникла заминка: для С проблем нет - пакет DDK от Microsoft, а вот для нужных мне языков таких готовых пакетов пока не знаю. Заканчивая с предысторией, задаю вопрос, который уже сам напрашивается: подходит ли BlackBox для написания драйвера ![]() |
Автор: | Илья Ермаков [ Суббота, 23 Сентябрь, 2006 21:41 ] |
Заголовок сообщения: | |
Я не специалист в области драйверов, хотя в целом знаком с принципами создания драйверов NT. Мне кажется, что использовать для этого - теоретически - можно любой компилятор, однако на практике может быть очень много проблем. Кроме заголовков API уровня ядра, которые есть в С DDK, еще ведь нужно линковать бинарник особого формата и т.п. Касатель Оберонов мне видятся два относительно простых варианта: 1 - на каком-либо инструменте из этой серии (XDS Oberon?) генерировать объектные файлы некоторого универсального формата, понятного для Visual Studio, затем писать некоторую прослойку для драйвера на С & DDK, затем линковать это воедино. 2 - использовать некоторую реализацию Оберона, которая компилирует Оберон в код на С. Ну а затем уже собирать в Студии. ...ИМХО... |
Автор: | Калям [ Воскресенье, 24 Сентябрь, 2006 21:22 ] |
Заголовок сообщения: | |
Благодарю за советы. По поводу заголовочных файлов, поставляемых с DDK: переводить их вручную на Оберон, мягко говоря, занятие долговременное - нужно это дело автоматизировать. Существуют ли конвертеры исходных текстов с С на Оберон? Ведь пользовались же чем-то разработчики BlackBox! Цитата: 1 - на каком-либо инструменте из этой серии (XDS Oberon?) генерировать объектные файлы некоторого универсального формата, понятного для Visual Studio, затем писать некоторую прослойку для драйвера на С & DDK, затем линковать это воедино. Вариант с универсальными объектными файлами (наверняка имелся в виду OMF) заманчив, однако здесь есть одна прблема, с которой, в частности, сталкиваешься, когда то же самое пытаешься сделать в Делфи: компилятор добавляет туда информацию (о RTL), которую сборщик из DDK отвергает и отказывается работать дальше. А как обстоят дела с компилятором BlackBox? Он добавляет такую информацию всегда, или же, к примеру, только тогда, когда используются конструкции RECORD? Цитата: 2 - использовать некоторую реализацию Оберона, которая компилирует Оберон в код на С. Ну а затем уже собирать в Студии.
Здесь, мне видится, может возникнуть та же проблема: а этот С-код будет содержать нестандартную, с точки зрения сборщика DDK, информацию? К тому же, раз в конечном итоге будет компилироваться С-исходник, то как же все те преимущества, из-за которых и использовался Оберон? Хотя, возможно, я просто неверно представляю процесс перевода на С... |
Автор: | Илья Ермаков [ Воскресенье, 24 Сентябрь, 2006 21:36 ] |
Заголовок сообщения: | |
По поводу перевода заголовков на Оберон... Что-то должно быть, но у меня об этом информации нет. По поводу компилятора ББ - его объектный формат точно не подойдет для DDK, он нестандартный. Именно поэтому я сразу упомянул про другие реализации Оберона. По поводу трансляции на Си - преимущества Оберона проявятся в той самой надежности при написании кода, о которой Вы сами упомянули, как о важном факторе. Ведь транслятор не вносит опечатков и не может забыть вызвать dispose... |
Автор: | Борис Рюмшин [ Воскресенье, 24 Сентябрь, 2006 22:24 ] |
Заголовок сообщения: | |
В системе XDS для конвертации заголовков есть утилита H2D. |
Автор: | Калям [ Понедельник, 25 Сентябрь, 2006 09:16 ] |
Заголовок сообщения: | |
Борис Рюмшин писал(а): В системе XDS для конвертации заголовков есть утилита H2D.
Ну что ж, попробуем... |
Автор: | Trurl [ Понедельник, 25 Сентябрь, 2006 11:16 ] |
Заголовок сообщения: | |
Илья Ермаков писал(а): еще ведь нужно линковать бинарник особого формата
Особый формат требуется для 9x, а для NT -обычный PE. |
Автор: | Vlad [ Вторник, 26 Сентябрь, 2006 10:49 ] |
Заголовок сообщения: | Re: Создание драйвера для Windows |
Калям писал(а): подходит ли BlackBox для написания драйвера
![]() Нет. Но если очень хочется, то поизвращаться можно. Наиболее реальным в этом случае мне кажется подход, который предложил Илья. Возможно тебе пригодится в этом случае вот этот линкер: ftp://ftp.styx.cabel.net/pub/UniLink (он понимает несколько форматов объектников и умеет их линковать вместе). Однако с чисто практической точки зрения смысла в том, чтобы писать драйвер на обероне еще меньше, чем на дельфях. Все "преимущества паскалевских языков" сойдут на нет при первой же попытке поковыряться руками в памяти. |
Автор: | Илья Ермаков [ Вторник, 26 Сентябрь, 2006 20:50 ] |
Заголовок сообщения: | |
"Поковыряться руками в памяти" - тогда Модула-2 - и вперед ![]() |
Автор: | Сергей Оборотов [ Пятница, 29 Сентябрь, 2006 07:26 ] |
Заголовок сообщения: | Re: Создание драйвера для Windows |
Vlad писал(а): Калям писал(а): подходит ли BlackBox для написания драйвера ![]() Однако с чисто практической точки зрения смысла в том, чтобы писать драйвер на обероне еще меньше, чем на дельфях. Все "преимущества паскалевских языков" сойдут на нет при первой же попытке поковыряться руками в памяти. |
Автор: | Калям [ Пятница, 29 Сентябрь, 2006 16:50 ] |
Заголовок сообщения: | Re: Создание драйвера для Windows |
GUEST писал(а): Для "паскалевских языков" существует пакеты для разработчика драйверов. ![]() ![]() GUEST писал(а): Насколько я понимаю используются DLL в паре с неким системным драйвером. А что конкретно нужно?
DLL пока не планируется, но если этого требуют пакеты, о которых сказано выше, то без проблем - DLL будет. Сейчас нужно создать драйвер в виде SYS-файла, т. е. то, что делает линковщик из DDK. |
Автор: | Сергей Оборотов [ Пятница, 29 Сентябрь, 2006 18:08 ] |
Заголовок сообщения: | Re: Создание драйвера для Windows |
Калям писал(а): GUEST писал(а): Для "паскалевских языков" существует пакеты для разработчика драйверов. ![]() ![]() http://www.jungo.com/windriver_usb_pci_driver_development_software.html |
Автор: | Vlad [ Понедельник, 02 Октябрь, 2006 08:05 ] |
Заголовок сообщения: | Re: Создание драйвера для Windows |
GUEST писал(а):
Если я правильно понял, то речь там идет о "User-Mode Device Drivers". |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |