- 1、本文档共67页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux串口(serial、uart)驱动程序设计
目录
TOC \o 1-3 \h \u HYPERLINK \l _Toc19182 Linux串口(serial、uart)驱动程序设计 PAGEREF _Toc19182 2
HYPERLINK \l _Toc30196 一、核心数据结构 PAGEREF _Toc30196 2
HYPERLINK \l _Toc13091 二、串口驱动API PAGEREF _Toc13091 6
HYPERLINK \l _Toc576 三、串口驱动例子 PAGEREF _Toc576 9
HYPERLINK \l _Toc31896 linux UART 串口驱动开发文档 PAGEREF _Toc31896 27
HYPERLINK \l _Toc9076 概念阐述 PAGEREF _Toc9076 27
HYPERLINK \l _Toc18019 一、老版本的串口驱动程序 PAGEREF _Toc18019 28
HYPERLINK \l _Toc19328 二、目前的串口驱动程序 PAGEREF _Toc19328 29
HYPERLINK \l _Toc5406 三、3个数据结构及其串口核心层API PAGEREF _Toc5406 31
HYPERLINK \l _Toc1363 1、uart_driver PAGEREF _Toc1363 31
HYPERLINK \l _Toc1460 2、uart_port PAGEREF _Toc1460 32
HYPERLINK \l _Toc10499 3、uart_ops PAGEREF _Toc10499 33
HYPERLINK \l _Toc19310 四、uart_ops PAGEREF _Toc19310 37
HYPERLINK \l _Toc4628 五、注册串口终端 PAGEREF _Toc4628 40
HYPERLINK \l _Toc31643 六、支持platform_driver PAGEREF _Toc31643 43
HYPERLINK \l _Toc28944 七、串口接收数据和发送数据流程 PAGEREF _Toc28944 45
HYPERLINK \l _Toc31558 1. 相关文件 PAGEREF _Toc31558 45
HYPERLINK \l _Toc23250 2. 数据收发 PAGEREF _Toc23250 47
HYPERLINK \l _Toc18393 基于Linux2.6.22和s3c2440的串口驱动简析(1) 2013-11-21 15:56:32 PAGEREF _Toc18393 48
HYPERLINK \l _Toc2861 基于Linux2.6.22和s3c2440的串口驱动简析(2) 2013-11-21 15:58:49 PAGEREF _Toc2861 56
Linux串口(serial、uart)驱动程序设计
分类: LINUX
原文地址:Linux串口(serial、uart)驱动程序设计 作者:lingdxuyan
一、核心数据结构
串口驱动有3个核心数据结构,它们都定义在#include linux/serial_core.h
1、uart_driver
uart_driver包含了串口设备名、串口驱动名、主次设备号、串口控制台(可选)等信息,还封装了tty_driver(底层串口驱动无需关心tty_driver)。
struct uart_driver {
struct module *owner; /* 拥有该uart_driver的模块,一般为THIS_MODULE */
const char *driver_name; /* 串口驱动名,串口设备文件名以驱动名为基础 */
const char *dev_name; /* 串口设备名 */
int major; /* 主设备号 */
int minor; /* 次设备号 */
int nr; /* 该uart_driver支持的串口个数(最大) */
struct console *cons; /* 其对应的console.若该uart_driver支持seri
文档评论(0)