IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Win10 USB转串口连接Linux主机调试 -> 正文阅读

[系统运维]Win10 USB转串口连接Linux主机调试

先梳理一下Linux里的console和tty这两个概念:

Console: 控制台,用于接收所有的内核消息,告警,允许用户log in。只有text模式,也就是说,用户通过键盘输入文本,并且在显示器上阅读系统输出文本。

Linux console分为两类,一类是virtual console, 另一类是physical console。Virtual Console可以直接在Linux主机连接的键盘上用Ctrl+Alt+Fn (n=1~6在Ubuntu)??切换进入. 之所以有Virtual Console这个东东,是早期Linux版本的一个重要或者说是标配特性,因为当时(90年代前期)能够有桌面图形显示功能的计算机非常昂贵。之所以有多个,符合Linux多用户特性。

如运行Ctrl+Alt+F1,就切换到Virtual Console 1, 截图如下:

大家注意到了tty1,tty 是teletypewriter的缩写,来源于19世纪的电传打字机(注意不是打印机),如下图:

?

?Linux诞生时期,传统的计算机运行模式是主机+终端。这里终端不是今天有着强大CPU处理能力的智能终端,而是具备基本的人机(主机)交互功能接口,可以输入文本,并阅读输出文本的物理设备。Console(控制台)和TTY都是Terminal(终端)的一种形式。

Teletype成了那个年代与主机进行输入输出交互的缺省终端设备,所以tty这个词就在Linux一直沿用下来,泛指各个Console的接口。下面列表列出当前主流Linux版本的Ctr+Alt+Fn和Virtual Console (tty)的对应关系。

  1. Ctrl+Alt+F1: 回到图形界面Login.
  2. Ctrl+Alt+F2:?回到图形界面.
  3. Ctrl+Alt+F3: Opens TTY 3.
  4. Ctrl+Alt+F4:?Opens TTY 4.
  5. Ctrl+Alt+F5:?Opens TTY 5.
  6. Ctrl+Alt+F6:?Opens TTY 6

Console除了前面提到的Virtual Console, 还有physical console,一般由串口接入,有另外的物理实体,通常是键盘和显示器。?串口接入的Console在Linux中用ttySn表示。

现在回到正题,为什么需要Console?图形界面可以实现绝大部分功能,包括唤起虚拟终端(即command line界面,实际上是软件模拟)。Console可以接收kernel的所有信息,比方说可以配置dmesg输出到console,这样,在boot过程中,当图形界面还没有产生时,console依然可以收到kernel的消息。在系统发生crash, 即panic或whoops时,图形界面可能没有kernel消息输出,一些消息可能也来不及记录到syslog或ker.log等日志文件中,但是可以在console界面捕获。

通过串口连接Linux主机,或者嵌入式Linux设备,是一种主流的Linux debug方式。

设备清单:一台win10笔记本电脑,一个带有串口的Linux主机(我这里是小型工控机),一个USB转串口线。

第一步:笔记本电脑插上USB转串口线,USB口自动识别设备,安装驱动,并在设备管理器的端口(COM和LPT)中展示。

第二步,检测Linux主机上的串口状态。

我的Linux主机上有两个串口,COM1和COM2。可以用两种方式检测状态:

方法一:dmesg?

$?dmesg | grep tty

输出如下:

[ ? ?0.108687] printk: console [tty0] enabled
[ ? ?2.752397] 00:03: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[ ? ?2.773666] 00:04: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A

可以看出,COM1(对应ttyS0)?和COM2(对应ttyS1)都运行正常。baud为115200。?

方法二:安装setserial包:

$ sudo apt install setserial

安装完毕后,运行:(因为我使用COM2)

$ sudo setserial -g /dev/ttyS1

输出:

/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3

从这里看出COM2运行正常。

第三步:把串口与Linux主机相连:

第四步,在Win10上运行Putty

connection type 选择serial, serial line 输入COM6(根据设备管理器上的显示填写),speed输入115200。?

?在Connection->Serial那一页,选择如下配置:

?点击Open,进入putty界面,但是这个时候没有任何字符输出

第五步,使用getty程序来管理ttyS1

getty是一个Unix程序,运行在主机上,管理Console,即tty。当它检测到连接时,会提示用户输入用户名和密码登陆。

sudo /sbin/getty -L 115200 ttyS1 vt102?

这里vt102是TERM环境变量,缺省是vt100。

这个时候Putty控制台界面会立即提示输入用户名:

输入用户名,密码,即进入控制台。

参考资料:

1.??What is a TTY on Linux? (and How to Use the tty Command) What does the tty command do? It prints the name of the terminal you’re using. TTY stands for “teletypewriter.” What’s the story behind the name of the command? That takes a bit more explaining.https://www.howtogeek.com/428174/what-is-a-tty-on-linux-and-how-to-use-the-tty-command/

2.?https://en.wikipedia.org/wiki/Getty_(Unix)icon-default.png?t=M5H6https://en.wikipedia.org/wiki/Getty_(Unix)3.?Ubuntu设置RS-232串口登陆终端(译文,节选)icon-default.png?t=M5H6http://www.mamicode.com/info-detail-578643.html?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-07-05 23:43:39  更:2022-07-05 23:47:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 12:25:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码