串口驱动

原创 2011年01月19日 16:33:00

终端(tty)是一类字符设备的总称,有控制台、串口、伪终端三种,控制台可以理解为printk输出的地方;

核心层、协议层、底层驱动层三层结构

底层驱动层的实现流程:

1、定义一个uart_driver的结构体,并初始化

2、使用uart_register_driver来注册这个驱动

3、初始化uart_port结构和ops函数表

4、调用uart_add_one_port()添加初始化好的uart_port,把driver和port关联起来

发送与接收

发送:循环buffer(驱动实现)->发送fifo(硬件自动)->fifo自动发送至移位寄存器

接收:接收移位寄存器->接收fifo->Flip_buf(有两个,乒乓读写)

发送fifo中的数据低于某个门限时产生发送中断,不发送时关发送中断即可

接收fifo接收到的数据达到设定的门限后会产生中断,不管read与否都会接收,有两个接收buf

相关文章推荐

Linux下串口驱动解析

原文 一、核心数据结构 串口驱动有3个核心数据结构,它们都定义在 1、uart_driver uart_driver包含了串口设备名、串口驱动名、主次设备号、串口控制台(可选)等信息,还封装了tty...
  • waldmer
  • waldmer
  • 2013年11月05日 15:55
  • 2820

FT232RL USB转串口TTL 黄色叹号 无法安装驱动下载不能识别 解决办法

驱动下载:     http://pan.baidu.com/s/1o6G73Yy 密码:q69z   原装IC模块地址:     http://item.taobao.com/item.htm?id...

S3C2440 UART串口驱动

++++++++++++++++++++++++++++++++++++++++++ 本文系本站原创,欢迎转载! 转载请注明出处: http://blog.csdn.net/mr_raptor/a...

Linux下的串口总线驱动(三)

版权所有,转载请说明转自  http://my.csdn.net/weiqing1981127   原创作者:南京邮电大学  通信与信息系统专业 研二 魏清   五.线路规程内核代码 底...

Linux串口驱动分析初始化

/** * uart分析 * * 其实串口分析就两个重要的文件: S3c2440.c Samsung.c * * **/ /** s3c2440.c **/ static struc...

USB转串口驱动代码分析

1、USB插入时,创建设备 DriverObject->DriverExtension->AddDevice = USB2COM_PnPAddDevice; 步一、调用USB2COM_C...

简简单单----一个TMS320F28035的串口驱动程序

/************************************ 标题:MySci.h 软件平台:CCS v5.2 硬件平台:TMS320F28035coreboar...

RTEMS 的libio ,work area ,heap,串口驱动等的一些阅读源代码分析笔记

ram_end = (uintptr_t)RamBase + (uintptr_t)RamSize;   *work_area_start = WorkAreaBase;   *work_area...
  • etual
  • etual
  • 2013年12月17日 17:45
  • 1687

基于linux2.6.35的串口平台驱动探索

困扰我1周的问题终于得到解决了,我的问题是在串口驱动注册的时候,mxs_auart_driver是如何被调用的。 原文出处:http://blog.csdn.net/bonnshore/arti...

ARM开发板上交叉编译usb转串口驱动

问题 这两天为了做gps和arm的通讯,不得不捣鼓这个东东。开发板是创维特jx2410,usb转串口线的芯片是pl2303。还好是这个芯片,让我没费多少力气,就达成了目的。因为Linux对它...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:串口驱动
举报原因:
原因补充:

(最多只允许输入30个字)