第四季-专题14-串口驱动程序设计

专题14-串口驱动程序设计

第1课-tty驱动架构

  1. TTY概念解析

在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备。

l  串口终端(/dev/ttyS*)

串口终端是使用计算机串口连接的终端设备。Linux

把每个串行端口都看作是一个字符设备。这些串行

端口所对应的设备名称是/dev/ttySAC0;

/dev/ttySAC1……

l  控制台终端(/dev/console)

在Linux系统中,计算机的输出设备通常被称为控制台终端(Console),这里特指printk信息输出到的设备。/dev/console是一个虚拟的设备,它需要映射到真/dev/console是一个虚拟的设备,它需要映射到真正的tty上,比如通过内核启动参数” console=ttySAC0”就把console映射到了串口0

l  虚拟终端(/dev/tty*)

当用户登录时,使用的是虚拟终端。使用Ctcl+Alt+[F1—F6]组合键时,我们就可以切换到tty1、tty2、tty3等上面去。tty1–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名.

(1)/dev/tty/SAC0

(2)/dev/tty/1-n

(3)/dev/console

  1. TTY架构分析

Linux tty子系统包含:tty核心,tty线路规程和tty驱动。tty核心是对整个tty设备的抽象,对用户提供统一的接口,tty线路规程是对传输数据的格式化,tty驱动则是面向tty设备的硬件驱动。

第2课-串口驱动分析-初始化

  1. 串口驱动程序结构
  1. 串口驱动中国数据结构

UART驱动程序结构:struct uart_driver

UART端口结构: struct uart_port

UART相关操作函数结构: struct uart_ops

UART状态结构: struct uart_state

UART状态结构: struct uart_state

UART信息结构: struct uart_info

  1. 初始化分析

第3课-串口驱动分析-打开设备

第4课-串口驱动分析-数据发送

第5课-串口驱动分析-数据接收

第6课-串口驱动编程实现

原文地址:https://www.cnblogs.com/free-1122/p/11452266.html

时间: 2024-11-13 04:16:04

第四季-专题14-串口驱动程序设计的相关文章

第四季-专题15-网卡驱动程序设计

专题15-网卡驱动程序设计 第1课-网卡驱动架构分析 l  Linux网络子系统 l  系统调用接口层:为应用程序提供访问网络子系统的统一方法. l  协议无关层:提供通用的方法来使用传输层协议. l  协议栈的实现:实现具体的网络协议 l  设备无关层:协议与设备驱动之前通信的通用接口 l  设备驱动程序 重要数据结构 在Linux内核中,每个网卡都由一个net_device结构来描述,其中的一些重要成员有: l  char name[IFNAMSIZ],设备名,如:eth%d l  unsi

12.2440串口驱动程序设计

12.2440串口驱动程序设计 串口的功能就是接受数据跟发送数据的,在上一节已经了解串口的引脚信号.但是数据的收发需要一定的条件,也就是串口的初始化.所以所以今天的内容就会被划分为三个部分: 1.串口的初始化: 创建一个uart.c来对串口进行处理,然后把它加入到Makefile工程文件里: 接着就是串口处理程序的实现了. 程序的刚开始是对串口进行初始化,初始化的步骤: 配置引脚功能 设置数据模式 设置工作模式 设置波特率. 1)配置引脚功能: 在2440里的串口底板原理图: 上面的11 TXD

PCI、串口驱动程序设计

一.PCI总线概述 总线是一种传输信号的信道:总线是连接一个或多个导体的电气连线.总线由电气接口和编程接口组成. PCI是peripheral component interconnect(外围设备互联)的简称,是在桌面及更大型的计算机上普遍使用的外设总线. PCI总线具有三个非常显著的优点: 1.在计算机和外设间传输数据时具有更好的性能 2.能够尽量独立于具体的平台 3.可以方便地实现即插即用 从结构上看,PCI总线是一种不依附于某个具体处理器的局部总线,它是在CPU和原来的系统总线之间插入的

串口驱动程序设计详解---串口初始化(上)

TTY驱动程序架构: 1. TTY概念解析 1.1 /dev/ttySCA0 1.2 /dev/tty1-n 1.3 /dev/console 在linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备. . 串口终端(/dev/ttyS*) 串口终端是使用计算机串口连接的终端设备.Linux把每个串行端口都看做是一个字符设备.这些串行端口所对应的设备名称是/dev/ttySAC*; .控制台终端(/dev/console) 在Linux系统中,计算机的输出

专题11 LED驱动程序设计

一.理论分析1.现实生活中,对一个设备除了能够读写之外,我们还希望能够对设备进行控制,比如说LED的亮灭,电机的转动等.2.一般希望能从应用程序传递命令给内核从而使得能够调用控制函数实现不同的控制.3.在用户空间,使用ioctl系统调用来控制设备:(应用程序接口)int ioctl(int fd,unsigned long cmd,...):4.重点是第二个参数cmd,他实质上就是一个整数.分成几块构成.5.在内核空间,相应的设备函数应该是(设备驱动方法)cmd是通过应用程序传递进来的.二.定义

第四季-专题21-USB驱动程序设计

专题21-USB驱动程序设计 第1课-USB总线介绍 USB发展史 USB(Universal Serial Bus ),通用串行总线,是一种外部总线标准,用于规范电脑与外部设备的连接和通讯.USB是在1994年底由英特尔.康柏.IBM.Microsoft等多家公司联合提出的,自1996年推出后,已成功替代串口和并口,成为当今个人电脑和大量智能设备的必配接口之一. USB 1.0出现在1996年的,速度只有1.5Mb/s1998年升级为USB 1.1,速度也提升到12Mb/s,称之为”full

第四季-专题11-LED驱动程序设计

专题11-LED驱动程序设计 第1课-字符设备控制 设备控制理论 (1)作用 大部分驱动程序除了需要提供读写设备的能力外,还需要具备控制设备的能力.比如: 改变波特率. (2)应用程序接口 在用户空间,使用ioctl系统调用来控制设备,原型如下: int ioctl(int fd,unsigned long cmd,...) fd: 要控制的设备文件描述符 cmd: 发送给设备的控制命令 …: 第3个参数是可选的参数,存在与否是依赖于控制命令(第2 个参数). (3)设备驱动方法 当应用程序使用

第四季-专题18-FLASH驱动程序设计

专题18-FLASH驱动程序设计 第1课-块设备驱动系统架构 块设备快速体验 块设备是指只能以块为单位进行访问的设备,块大小一般是512个字节的整数倍.常见的块设备包括硬件,SD卡,光盘等. l  insmod simple-blk.ko l  ls /dev/simp_blkdev0 l  mkfs.ext3 /dev/simp_blk0 l  mkdir –p /mnt/blk l  mount /dev/simp_blk0 /mnt/blk l  cp /etc/init.d/* /mnt

第四季-专题20-SPI驱动程序设计

专题20-SPI驱动程序设计 第1课-SPI总线介绍 总线结构 SPI(Serial Peripheral Interface)串行外设接口,是一种高速的,全双工,同步的通信总线.采用主从模式(Master Slave)架构,支持多个slave,一般仅支持单Master. SPI接口共有4根信号线,分别是:设备选择线(SS).时钟线(SCK).串行输出数据线(MOSI).串行输入数据线(MISO) 数据传输过程 主节点通过MOSI 线输出数据,从节点在SIMO 处从主节点读取数据.同时,也在通过