| |
|
开发:
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)的对应关系。
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?
输出如下:
可以看出,COM1(对应ttyS0)?和COM2(对应ttyS1)都运行正常。baud为115200。? 方法二:安装setserial包:
安装完毕后,运行:(因为我使用COM2)
输出:
从这里看出COM2运行正常。 第三步:把串口与Linux主机相连: 第四步,在Win10上运行Putty connection type 选择serial, serial line 输入COM6(根据设备管理器上的显示填写),speed输入115200。? ?在Connection->Serial那一页,选择如下配置: ?点击Open,进入putty界面,但是这个时候没有任何字符输出 第五步,使用getty程序来管理ttyS1 getty是一个Unix程序,运行在主机上,管理Console,即tty。当它检测到连接时,会提示用户输入用户名和密码登陆。
这里vt102是TERM环境变量,缺省是vt100。 这个时候Putty控制台界面会立即提示输入用户名: 输入用户名,密码,即进入控制台。 参考资料: 2.?https://en.wikipedia.org/wiki/Getty_(Unix)https://en.wikipedia.org/wiki/Getty_(Unix)3.?Ubuntu设置RS-232串口登陆终端(译文,节选)http://www.mamicode.com/info-detail-578643.html? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |