Linux Device Drivers

Linux Device Drivers


Linux
Modules
Character drivers
IO & Memory
Linux Kernel
Process Management
Process Address space

Linux Scheduler
Memory Management
Interrupts
Signals
System Calls
Kernel Synchronization
Linux Inter Process Communications




Serial Ports
Parallel Ports
Introduction to Hardware
Linux Timers
DMA in Linux
Linux Threads
Linux Thread Synchronization

Linux Multi Threading
Debugging in Linux
GDB GNU Debugger
KDB Kernel Debugger
KGDB Kernel GNU Debugger
Example Ethernet Driver




Interfacing the Serial Port

Interfacing the Serial Port

 

The serial communication (asynchronous or synchronous) is implemented by several chip vendors.

 

Asynchronous Comm Controller -16550 (Intel, NSC)

Available as COM1/COM2 on PC

 

16450 Universal Asynchronous Receiver Transmitter (UART)

 

Fully programmable serial-interface characteristics

5-6-7-or 8-bit characters

Even odd or no-parity bit generation and detection

1-1-or 2-stop bit generation

Baud generation (DC to 15M baud)

 

MODEM control functions (CTS RTS DSR DTR RI and DCD)

 

FIFO mode transmitter and receiver are each buffered with 16 byte

FIFO’s to reduce the number of interrupts presented to the CPU

 

Name

Address

IRQ

COM1

3F8

4

COM2

2F8

3

COM3

3E8

4

COM4

2E8

3

 

 

Null Modem wiring diagram

 

 

 

Table of Commonly Used Baudrate Divisors

 

 

 

tty core overview

 

The Linux tty driver core lives right below the standard character driver level and provides a range of features focused on providing an interface for terminal style devices to use.