Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: есть ли здесь люди, собиравшие ядро линукса? а драйверы?  (Прочитано 9376 раз)
0 Пользователей и 1 Гость смотрят эту тему.
konst
Гость
« : 28-05-2004 11:08 » 

кому не жалко времени своего, пожалуйста, расскажите, как вычленить из ядра драйвер ком-порта и собрать его? или линк дайте на где почитать...
Записан
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 28-05-2004 11:20 » 

надо развернуть исходники ядра, драйвер находися в файле

drivers/char/serial.c

Что значит собрать?  Как отдельный модуль?

Надо собирать вместе с ядром.  Отдельного DDK, как в винде, в линухе нет.
Как собрать ядро есть отдельные howto.  Если что не понятно, спрашивай.
Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 28-05-2004 11:40 » 

Любой модуль к ядру можно собрать отдельно от ядра. Для этого необходимы заголовки от этого ядра и его конфигурация (находится в этих же заголовках).

Какой смысл изымать драйвер ком-порта?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
konst
Гость
« Ответ #3 : 28-05-2004 13:10 » 

мне нужен драйвер ком-порта отдельно как модуль для того, чтобы на его основе сделать драйвер ком-порта на моежей железяке. на ней есть ком-порт, даже, возможно и будет работать просто, если особым образом драйвер настроить, в винде есть такие настройки, в винде, однако, исходники драйвера есть, небольшое добавление в виде нужного мне функционала было достаточно, вот как бы аналогичную задачу под линуксом решить?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 28-05-2004 13:21 » 

Если у тебя стандартный UART из поддерживаемых драйвером, то зачем городить? Или у тебя драйвер должен эмулировать последовательный порт?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
konst
Гость
« Ответ #5 : 28-05-2004 13:35 » 

да. совсем стандартный. только надо выбрать 3ий диапазон ио за базовый. ну, возможно потребуется специальная процедура, чтоб его включить, но, скорее всего, нет.
ещё такой вопрос. в линуксе драйверы лочат диапазоны ввода-вывода за собой так, чтобы другие на могли их захватывать или не обязательно? возможно ли на одну и ту же железку 2 драйвера повесить, у которым одно и тоже пространство ввода-вывода нужно?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 28-05-2004 14:01 » 

konst, да бы не было конфликтов, ресурсы (io, irq, dma) запрашиваються. См. linux/ioport.h, linux/sched.h и т.п. Ищи ф-ии типа request_region(), request_irq(). Загляни в книгу - там про это должно быть написано.

Два драйвера на один ресурс лучше не вешать.

Кстати, ко ли у тебя стандартный uart, можно проще: linux/serial.h: register_serial().
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines