Операционная система ЗОСРВ «Нейтрино» > Руководство разработчика > Основные принципы системной разработки > Разработка драйверов и драйверные библиотеки > Драйверные библиотеки > Библиотека разработки драйверов символьных устройств (libio-char) > Общие сведения > Обзор примера драйвера последовательного порта > Функции и типы данных > DEV_8250



DEV_8250

Содержит данные для работы с устройством

Прототип:

#include "externs.h"
typedef struct dev_8250 {
TTYDEV tty;
struct dev_8250 *next;
unsigned intr;
unsigned clk;
unsigned div;
unsigned char rx_fifo;
unsigned char tx_fifo;
unsigned char fcr;
unsigned dev_id;
#if defined( PA6T_WORKAROUND )
unsigned char irr_fiddle;
unsigned char tx_empty_disable;
#endif
uintptr_t port[REG_TOTAL];
uint32_t *ext_regs;
uint32_t (*read_8250)( uintptr_t port );
void (*write_8250)( uintptr_t port, uint32_t val );
} DEV_8250;

Библиотека:

libio-char

Описание:

Поля структуры включают:

tty
Структура TTYDEV.
next
Следующий элемент списка.
intr
IRQ.
clk
Входная частота.
div
Делитель частоты.
rx_fifo
Размер rх fifo.
tx_fifo
Размер tх fifo
fcr
Регистр FCR.

Caution: Регистр FCR является доступным только для записи, поэтому локальная копия используется для операций чтения-записи.

dev_id
Идентификатор устройства.
irr_fiddle
Для обхода проблемы c PA6T-1682.
tx_empty_disable
Для обхода проблемы c PA6T-1682.
port
Порт.
ext_regs
Расширенные регистры UART.
read_8250
Указатели на функции для доступа к оборудованию.
write_8250
Указатели на функции для доступа к оборудованию.

Классификация:

ЗОСРВ «Нейтрино»




Предыдущий раздел: Обзор примера драйвера последовательного порта