一、串口
1、一台有输入、显示部件,然后能够连接的计算机的设备叫做终端。Linux中用tty表示终端。控制台和终端相比只是多了一项功能,它可以显示系统信息,比如内核消息、后台服务消息。启动Linux内核前传入的命令行参数“console=…”就是用来指定控制台。
2、串口也是一种终端设备,在基本硬件操作的基础上,还增加了很多软件功能。驱动程序从上到下分为四层:终端设备层、行规层、串口抽象层、串口芯片层。
drivers/serial下串口芯片层各芯片具体函数抽象为drivers/serial下serial_core.c和serial_core.h,字符设备集中于drivers/char。行规层指定数据交换的规则,比如接收到TAB转换为8个空格,接收到Ctrl+C转换为SIGINT。终端设备层向上提供统一的设备接口,使得用户不必关心具体终端的类型。
3、串口接收数据,以接收ls为例
(1)shell一直休眠,串口接收‘l’,保存(缓冲区)、回显
(2)接收‘s’保存、回显
(3)接收回车符唤醒shell进程,shell读取保存的“ls”,进一步处理
二、网卡