• 第四季-专题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课-串口驱动编程实现

  • 相关阅读:
    python每日一题:使用套接字创建分布式进程
    市盈率分析
    python每日一题:分布式进程之坑点
    python每日一题:比较单线程,多线程,协程的运行效率
    python每日一题:锁知识点
    python每日一题:查找一篇文档中的人名和城市
    python之装饰器@
    python每日一题:利用字典实现超市购物程序
    【Java基础】多线程
    【Java基础】异常处理
  • 原文地址:https://www.cnblogs.com/free-1122/p/11452266.html
Copyright © 2020-2023  润新知