串口驱动流程分析

TTY驱动程序架构 TTY概念解析 TTY架构分析 ##1.TTY概念解析 在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备。 1.1串口终端(/dev/ttyS*) 串口终端是使用计算机串口连接的终端设备。Linux把每个串行端口都看作是一个字符设备。这些串行 端口所对应的设备名称是/dev/ttySAC0;/dev/ttySAC1……
摘要由CSDN通过智能技术生成

TTY驱动程序架构
TTY概念解析
TTY架构分析
##1.TTY概念解析
在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备。
1.1串口终端(/dev/ttyS*)
串口终端是使用计算机串口连接的终端设备。Linux把每个串行端口都看作是一个字符设备。这些串行
端口所对应的设备名称是/dev/ttySAC0;/dev/ttySAC1……
1.2控制台终端(/dev/console)
在Linux系统中,计算机的输出设备通常被称为控制台终端(Console),这里特指printk信息输出到的设备。
/dev/console是一个虚拟的设备,它需要映射到真正的tty上,比如通过内核启动参数”console=ttySAC0”就把console映射到了串口0
1.3虚拟终端(/dev/tty*)
当用户登录时,使用的是虚拟终端。使用Ctcl+Alt+[F1—F6]组合键时,我们就可以切换到tty1、tty2、tty3等上面去。tty1–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名

2TTY架构

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

2.1回溯串口发送流程
dump_stack();
见图
串口驱动初始化
1.串口驱动程序结构
2.串口驱动中的重要参数
3.初始化分析
3.1串口驱动初始化
串口相关文件在内核代码的samsung.c和S5PV210.c中,
1.在module_init中注册串口驱动uart_register_driver()
2.调用probe函数初始化设备
2.1取出相应的uart_port
2.2初始化uart_port
2.2.1获取虚拟地址
2.2.2获取中断号
2.2.3复位FIFO
2.3添加uart_port_uart_add_one_port
2.4创建属性文件device_create_file
2.5初始化动态频率调节-s3c24xx_serial_cpufreq_register
3.2串口初始化之打开操作
当用户调用open打开函数,
1.调用tty_fops结构,调用tty_open
2.调用uart_ops结构,调用uart_open,调用

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值