Инструкция по созданию, настройке и управлению драйвером последовательного порта 8250, включая описание регистров, исходного кода и основных функций для обработки данных и прерываний.
drivers/char/devc/ser8250. Эта директория включает: Cуществует специальная версия этой функции для настольных систем x86 в x86/query_defdev.c. Для других платформ нет устройств по умолчанию. |
Также имеются директории для конкретных платформ, каждая из которых включает: sys_ttyinit.c - Инициализирует структуру TTY, которую драйвер передает io-char.
| Изменяйте исходный код как можно меньше, так как его легко испортить. |
serial8250 определяет эти функции и типы данных: | Функция / тип данных | Описание |
|---|---|
| Создание нового устройства | |
| Содержит данные для работы с устройством | |
| Активирует последовательные порты устройства | |
| Разбирает аргументы командной строки драйвера | |
| Задает платформо-зависимые устройства по умолчанию | |
| Функция обработчик прерываний | |
| Настраивает динамически изменяемые регистры | |
| Настройка порта UART | |
| Инициализация платформо-зависимых значений по умолчанию | |
| Передача данных в оборудование |
Основная функция драйвера (main()), определенная в main.c, вызывает:
TTC_INIT_PROC для выделения и настройки ресурсов, общих для всех устройств, например, менеджера ресурсов; TTC_INIT_START, чтобы драйвер начал принимать сообщения, т.е. работать;
Предыдущий раздел: Библиотека разработки драйверов символьных устройсв