Linux内核串口与输入驱动详解
1. 串口驱动源码分析
串口核心代码位于 drivers/serial/ 目录,但 tty 实现和底层驱动分散在整个源码树中。例如图中涉及的驱动文件分布在四个不同目录: drivers/serial/ 、 drivers/char/ 、 drivers/usb/serial/ 和 drivers/net/irda/ 。在2.4内核中, drivers/serial/ 目录并不存在,UART特定代码分散在 drivers/char/ 和 arch/your-arch/ 目录。现在的代码分区更合理,因为UART驱动并非唯一访问串口层的,像USB转串口转换器和IrDA加密狗等设备也需要与串口核心通信。
若想查看实际的底层UART驱动,可看 drivers/serial/imx.c ,它处理飞思卡尔i.MX系列嵌入式控制器中的UART。
若想查看Linux支持的线路规程列表,可查看 include/linux/tty.h 。若想了解网络线路规程,可查看PPP( drivers/net/ppp_async.c )、蓝牙( drivers/bluetooth/hci_ldisc.c )、红外( drivers/net/irda/irtty-sir.c
超级会员免费看
订阅专栏 解锁全文
1639

被折叠的 条评论
为什么被折叠?



