深入解析串口驱动的分层架构与UART驱动实现
1. 串口子系统的分层架构
串口子系统的用户众多且需求各异,为了更好地管理和实现功能,内核开发者设计了分层的串口架构,主要由以下几个构建块组成:
1. 底层驱动 :负责处理UART或其他底层串口硬件的内部细节。
2. tty驱动层 :与底层驱动进行接口交互,将高层与硬件的复杂细节隔离开来。
3. 线路规程 :对与tty驱动交换的数据进行处理,塑造串口层的行为,并有助于复用底层层来支持不同的技术。
为了帮助自定义驱动的实现,串口子系统还提供了核心API,将这些层的共性提取出来。
以下是各层之间的关系图:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(User Applications):::process --> B(Line Discipline Layer):::process
B --> C(TTY Layer):::process
C --> D(Physical Layer):::process
D --> E(Low-level driver):::process
B1(N_TTY):::process --> C
B2(N_IRDA):::process --> C
B3(N_PPP):::proce
超级会员免费看
订阅专栏 解锁全文
1266

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



