UART子系统(十四)编写虚拟UART驱动程序\_实现uart_ops

简介: UART子系统(十四)编写虚拟UART驱动程序\_实现uart_ops

编写虚拟UART驱动程序_实现uart_ops


参考代码

硬件相关:
drivers/tty/serial/imx.c
drivers/tty/serial/stm32-usart.c
串口核心层:
drivers/tty/serial/serial_core.c
TTY层:
drivers/tty/tty_io.c


本节课程源码在GIT仓库里

doc_and_source_for_drivers\IMX6ULL\source\09_UART
  05_virtual_uart_driver_uart_ops
doc_and_source_for_drivers\STM32MP157\source\A7\09_UART
  05_virtual_uart_driver_uart_ops


1. 虚拟UART的驱动组成

1670940965793.jpg


2. 虚拟UART的数据流程

1670940975101.jpg


为了做实验,我们还要创建一个虚拟文件:/proc/virt_uart_buf

要发数据给虚拟串口时,执行:echo "xxx" > /proc/virt_uart_buf

要读取虚拟串口的数据时,执行:cat /proc/virt_uart_buf


3. 编写uart_ops

相关文章
|
6月前
|
开发者
【经典案例】使用HAL库配置STM32F407的SPI外设
在嵌入式系统开发中,STM32F407是一款广泛应用的微控制器,而SPI(Serial Peripheral Interface)是一种常用的通信接口。本文将详细介绍如何使用STM32的硬件抽象层(HAL)库配置STM32F407的SPI外设,并提供完整的代码示例。
648 1
UART子系统(十)UART驱动情景分析_read
UART子系统(十)UART驱动情景分析_read
207 2
UART子系统(十)UART驱动情景分析_read
|
定位技术 芯片
ARM架构与编程(基于I.MX6ULL): 串口UART编程(七)(上)
ARM架构与编程(基于I.MX6ULL): 串口UART编程(七)
285 1
ARM架构与编程(基于I.MX6ULL): 串口UART编程(七)(上)
|
芯片 数据格式
ARM架构与编程(基于I.MX6ULL): 串口UART编程(七)(下)
ARM架构与编程(基于I.MX6ULL): 串口UART编程(七)
320 1
ARM架构与编程(基于I.MX6ULL): 串口UART编程(七)(下)
UART子系统(八)UART驱动情景分析_注册
UART子系统(八)UART驱动情景分析_注册
80 1
UART子系统(八)UART驱动情景分析_注册
|
移动开发 Unix Linux
UART子系统(四) TTY驱动程序框架
UART子系统(四) TTY驱动程序框架
245 1
UART子系统(四) TTY驱动程序框架
|
传感器 数据可视化 数据格式
【Renesas RA6M4开发板之UART与Serial studio串口交互】
【Renesas RA6M4开发板之UART与Serial studio串口交互】
164 0
远距离串口服务器( 适配器)UART/I2C/1-Wire/SPI PS304常见问题及注意事项
当使用导线连接外部设备或芯片时,导线不可过长,一般控制在 20CM 以内, IIC、 SPI、 UART 等数字接口数据线驱动能力有限,过长的导线会导致通讯波形迟缓。当导线确实无法缩短时,可以通过降低通讯速率的方法来解决、 缓解通讯异常问题。
远距离串口服务器( 适配器)UART/I2C/1-Wire/SPI PS304常见问题及注意事项
|
Linux 开发工具 git
UART子系统(十五)编写虚拟UART驱动程序\_实现数据传输
UART子系统(十五)编写虚拟UART驱动程序\_实现数据传输
281 0
UART子系统(十五)编写虚拟UART驱动程序\_实现数据传输
|
开发工具 git
UART子系统(十三)编写虚拟UART驱动程序_框架
UART子系统(十三)编写虚拟UART驱动程序_框架
149 0
UART子系统(十三)编写虚拟UART驱动程序_框架