![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
UART
学习Liunx UART 子系统
Kbattery
这个作者很懒,什么都没留下…
展开
-
UART调试
proc/tty/drivers依次为:driver_name,设备节点前缀,主设备号,次设备号范围,类型proc/tty/driver/px30_evb:/ # ls proc/tty/driver/fiq-debugger serial usbserialpx30_evb:/ # cat proc/tty/driver/serialserinfo:1.0 driver revision:0: uart:16550A mmio:0xFF030000 irq:10 tx:0 rx:0 RTS|原创 2021-08-26 09:10:46 · 767 阅读 · 0 评论 -
UART驱动 open流程
参考代码串口核心层:drivers/tty/serial/serial_core.cTTY层:drivers/tty/tty_io.c行规程:drivers/tty/tty_ldisc.cdrivers/tty/n_tty.copen 功能描述找到tty_driver分配/设置tty_struct行规程初始化调用tty_driver->ops->open源码分析tty_open driver = tty_lookup_driver(device, filp原创 2021-08-26 09:10:24 · 495 阅读 · 0 评论 -
UART write过程分析
参考代码串口核心层:drivers/tty/serial/serial_core.cTTY层:drivers/tty/tty_io.c行规程:drivers/tty/tty_ldisc.cdrivers/tty/n_tty.c流程分析tty_write ld->ops->write //调用行规程的write 函数行规程(n_tty.c) 的 write函数:在串口核心层的write 函数中,会先把数据存入buffer ,然后启动串口发送数据uart_wr原创 2021-08-26 09:10:01 · 3069 阅读 · 0 评论 -
UART read过程分析
参考代码串口核心层:drivers/tty/serial/serial_core.cTTY层:drivers/tty/tty_io.c原创 2021-08-26 09:09:24 · 1631 阅读 · 0 评论 -
UART驱动注册过程
UART 驱动的注册过程主要由 uart_register_driver 和 uart_add_one_port两个函数来完成uart_register_driver 流程分析1,分配 uart_state 结构体drv->state = kzalloc(sizeof(struct uart_state) * drv->nr, GFP_KERNEL);2,分配tty_driver 结构体normal = alloc_tty_driver(drv->nr); struct原创 2021-08-02 18:42:48 · 494 阅读 · 0 评论 -
UART 串口驱动程序框架
uart driver 向上注册 uart_driver(uart_register_driver):uart driver 向上注册uart_port(uart_add_one_port)serial core 向上注册 tty_driver原创 2021-08-02 18:42:05 · 281 阅读 · 0 评论 -
UART 硬件介绍
串口的硬件介绍UART的全称是Universal Asynchronous Receiver and Transmitter,即异步发送和接收。串口在嵌入式领域,应用十分广泛,主要的用途为:打印调试信息外接各种串口设备串口的结构简单,通过三根线(发送,接收,地线)即可:串口的参数波特率:每秒传输多少个bit开始位:先发出一个逻辑“0” 信号,表示传输数据开始数据位:可以是5~8位逻辑“0”或者逻辑“1”校检位:数据位加上该位之后,使得“1” 的个数应为偶数(偶校检)或者为奇数(奇原创 2021-08-02 18:41:13 · 1059 阅读 · 0 评论