2020-10-09

Linux 8250串口驱动上

在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备。串口终端(/dev/ttyS*)串口终端是使用计算机串口连接的终端设备。Linux把每个串行端口都看作是一个字符设备。

  1. TTY架构分析
    Linux tty子系统包含:tty核心,tty线路规程和tty驱动。tty核心是对整个tty设备的抽象,对用户提供统一的接口,tty线路规程是对传输数据的格式化,tty驱动则是面向tty设备的硬件驱动。
    整个 uart 框架简单来分的话可以说成两层,一层是下层我们的串口驱动层,它直接与硬件相接触,我们需要填充一个 struct uart_ops的结构体,另一层是上层 tty 层,包括 tty 核心以及线路规程,它们各自都有一个 Ops 结构,用户空通过间是 tty 注册的字符设备节点来访问,层层跳转。下面,就来分析分析它们的层次结构。
    它是这样来注册串口驱动的,分配一个struct uart_driver简单填充,并调用uart_register_driver注册到内核中去。
static struct uart_driver serial8250_reg = {
   
     
	.owner			

你可能感兴趣的:(linux驱动,linux,嵌入式,内核)