匿名
未登录
登录
百问网嵌入式Linux wiki
搜索
查看“Serial TTY line discipline”的源代码
来自百问网嵌入式Linux wiki
名字空间
页面
讨论
更多
更多
页面选项
Read
查看源代码
历史
←
Serial TTY line discipline
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
本文提供有关 Linux® TTY 框架的信息。 它说明了如何使用线路规则激活“ UART”接口,以及如何从用户和内核空间访问它。<br /> ==Framework purpose== UART是几种设备类型(例如蓝牙,NFC,FM收音机和GPS设备)的通用接口。 <br/> 从内核版本4.12开始,TTY框架中引入了串行设备总线(也称为Serdev),以改善提供给连接到串行端口的设备的接口。 请参考 [[Serial TTY overview]]文章,以详细了解TTY框架的用途。尽管如此,仍然有可能(即使不推荐)使用行规“驱动程序”。 本文重点介绍提供给连接到串行端口的设备的线路规范接口。 ==System overview== [[File:Serial TTY Line Discipline overview.png|center|link=]] <br/> ===Components description=== ''从客户端应用程序到硬件'' * 应用程序:客户应用程序,用于从串行端口上连接的外围设备读取/写入数据。 * [[TTY tools]]: Linux社区提供的工具,例 '''stty''', '''ldattach''', '''inputattach''', '''tty''', '''ttys''', '''agetty''', '''mingetty''', '''kermit''' and '''minicom'''. * Termios: API<ref name="termios API">[http://man7.org/linux/man-pages/man3/termios.3.html termios API], Linux Programmer's Manual termios API Documentation (user land API with serial devices)</ref> 提供使用串行驱动程序开发应用程序的接口。 *客户端子系统:'''TTY'''内核的内核子系统客户端(示例:蓝牙设备) * TTY框架:高层TTY结构管理,包括 {{CodeSource | Linux kernel | drivers/tty/tty_io.c | '''tty character device driver'''}}, {{CodeSource | Linux kernel | drivers/tty | '''TTY core functions'''}}, [[Serial TTY line discipline| '''line discipline''']]. * 串行框架:低级串行驱动程序管理,包括{{CodeSource | Linux kernel | drivers/tty/serial/serial_core.c | '''serial core''' functions}}. * USART驱动程序:{{CodeSource | Linux kernel | drivers/tty/serial/stm32-usart.c | stm32-usart}} '“低级串行驱动程序'”,用于所有stm32系列设备。 * [[USART internal peripheral| STM32 USART]]: ''' STM32前端IP''' 通过串行端口连接到外部设备 ===APIs description=== The TTY provides only '''character device interface''' (named /dev/ttyX) to user space. The main API for user space TTY client applications is provided by the portable POSIX terminal interface termios, which relies on /dev/ttyX interface for TTY link configuration.<br/> The '''termios API'''<ref name="termios API"/> is a user land API, and its functions describe a general terminal interface that is provided to control asynchronous communications ports. <br/> The POSIX termios API abstracts the low-level details of the hardware, and provides a simple yet complete programming interface that can be used for advanced projects. It is a wrapper on '''character device API''' <ref> [http://bootlin.com/doc/accessing-hardware.pdf Character device API overview], ''Accessing hardware from userspace'' training, Bootlin documentation</ref> ioctl operations.<br/> {{Info|A [[Serial TTY line discipline|'''line discipline''']] driver can be used when a serial interface is needed at kernel level.}} For example, a kernel driver maybe needed to control an external device through an U(S)ART port. {{ReviewsComments|FGA W1941: I rephrased above note, can you please double-ckeck ?}} * The '''line discipline''' will be responsible for: ** creating this new kernel API ** routing data flow between serial core and new kernel API <br/> {{ReviewsComments|FGA W1941: No how to use section, nor examples ? Is it deliberate ?<br/> FGA W1941: Maybe worth pointing out some existing examples in the kernel ?}} ==References== <references /> <noinclude> [[Category:Serial TTY|6]] </noinclude>
该页面使用的模板:
模板:CodeSource
(
查看源代码
)
模板:Info
(
查看源代码
)
模板:STDarkBlue
(
查看源代码
)
返回至
Serial TTY line discipline
。
导航
导航
WIKI首页
官方店铺
资料下载
交流社区
所有页面
所有产品
MPU-Linux开发板
MCU-单片机开发板
Linux开发系列视频
单片机开发系列视频
所有模块配件
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志