Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Драйвер лиукс.
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
sergey sva
Подскажите где лежат эти функции, все файлы в папке drivers/pci пересмотрел не увидел ?
ядро 2,6
Код
pci_read_config_word
pci_write_config_word
ataradov
10 seconds of Google
sergey sva
Понятно, еще вопрос : не допонимаю как драйвер pci взаимодействует с устройством через функции биос или через регистры контроллера pci?
sergey sva
К примеру сделали железку PCI Она соответствует спецификации PCI , дальше нужно сделать драйвер который бы читал например конфигурационную информацию
DeviceID и VendorID они расположены по адресу 0х00.
Что должна делать функция в драйвере что бы прочитать эту информацию , или может кто знает в каком она файле находится /kernel/driver/pci ?
Сейчас не представляю как это должно происходить, предполагаю если есть bios значит все обращения должны происходить через эту os
или можно напрямую назначить структуру дать ей указатель на 0x00 но тогда она может попасть на винт с адресом 0ч00 или озу ?
помогите разобраться.
sergey sva
Начинает все проясняться, просто все происходит не на таком низком уровне как думал sm.gif
Но все равно за любые советы буду благодарен. sm.gif Может у кого есть исходник какого нибудь драйвера для pci поделитесь пожалуйста.
Буду разбираться.
sergey sva
Еще протецкий sm.gif драйвер может сам после подключения выполнять действия например получать данные с устройства после отправлять устройству, вообщем запустить в драйвере бесконечный цикл в котором например обрабатывать входящий поток данных, или так не желательно делать?
ataradov
QUOTE (sergey sva @ Jun 22 2011, 15:58) *
Еще протецкий sm.gif драйвер может сам после подключения выполнять действия например получать данные с устройства после отправлять устройству, вообщем запустить в драйвере бесконечный цикл в котором например обрабатывать входящий поток данных, или так не желательно делать?


Смысл драйвера в предоставлении интерфейса для прикладных программ. Какую-то обработку может и стоит делать в драйвере, но обычно в этом смысла нет. Делать всю обработку в драйвере не желательно, хотя навреное можно если разрабатывемая железка по-сути главная в компе и вокруг нее все крутится.
Idle
Цитата(sergey sva @ Jun 22 2011, 15:58) *
драйвер может сам после подключения выполнять действия например получать данные с устройства после отправлять устройству

да, абсолютно

Цитата(sergey sva @ Jun 22 2011, 15:58) *
или так не желательно делать?

что значит не желательно? как тебе надо, так и делай
sergey sva
Цитата
что значит не желательно?

Как лучше будет сделать, все обработку в программе или в драйвере, интересно кто как делает?
ataradov
QUOTE (sergey sva @ Jun 23 2011, 08:22) *
Как лучше будет сделать, все обработку в программе или в драйвере, интересно кто как делает?
Вы бы описали что эта железка делает, а то гадание ни кофейной гуще получается. Логичнее и проще, если технически возможно, обработку длеать в программе, но если обработка требует доступа к каким-то внутренним структурам ядра или сильно критична ко времени, то особых вариантов и нет - только ядро.
Idle
Цитата(sergey sva @ Jun 23 2011, 08:22) *
Как лучше будет сделать, все обработку в программе или в драйвере, интересно кто как делает?

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