Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как написать драйвер под FreeBSD?
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
Angel
Для работы нужно написать драйвер под FreeBSD или unix.
Где можно найти про это информацию: книги, ссылки в интернете и т.д.
sK0T
Цитата(Angel @ Jun 22 2005, 21:13)
Для работы нужно написать драйвер под FreeBSD или unix.
Где можно найти про это информацию: книги, ссылки в интернете и т.д.
*


Под FreeBSD довольно просто писать драйвера и как всегда вся информация собрана на FreeBSD.org. Если точнее, то вот здесь: http://www.freebsd.org/doc/en_US.ISO8859-1...iverbasics.html.

Если что, обращайтесь — помогу.
hitower
/usr/share/examples/drivers - два скрипта для генерации шаблона драйвера
правда, для версии 5.3 были ошибки
но в целом, действительно, все достаточно просто, и многое описано в handbook-e
Angel
Задачка немножко изменилась.
Как работать с программы напрямую с железом, например с PCI- платой?
hitower
man 4 pci

получаете конфигурацию, дальше - через обычные ф-ии inb, inw, inl и т.п.
привилегии процесс может получить, открыв устройство /dev/io

к прерываниям так не добраться
xyzzy
Цитата(hitower @ Jun 29 2005, 04:09)
man 4 pci

получаете конфигурацию, дальше - через обычные ф-ии inb, inw, inl и т.п.
привилегии процесс может получить, открыв устройство /dev/io

к прерываниям так не добраться
*



Вместо in/out можно сделать mmap используя /dev/mem и получить прямой доступ к памяти PCI устройства. Но могут быть сюрпризы с кэшированием памяти.

К прерываниям, действительно, добраться труднее - придется-таки написать простой драйвер и будить процесс.

C DMA тоже интересно выходит. PCI устройству нужен физический адрес, а программа знает только о виртуальном. Можно DMA организовать в драйвере, но тогда, практически, выйдет нормальный драйвер.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.