BIOS____串口调试的一些总结

时间:2024-01-27 10:21:11

   本次随笔是关于串口调试的内容

   起因是项目遇到一个bug:国产显卡配合国产芯片外加国产系统。显卡过了BIOS之后不输出内容了。可知的情况是系统还没有死,因为大小写还是活着的。所以打算上串口看看数据是什么情况,一般来讲BIOS在进入系统之后就不会显示debug信息了,这种情况需要看系统的调试信息。可以通过如下操作把调试信息发送到指定的串口上(Linux内核的系统)。

  首先不接显卡,先进系统进行一些操作。

  使用dmesg | grep tty   获取当前实际存在串口。( | 为重定向,把dmesg的信息传递给 grep ,grep tty 则是筛选其中内容包含tty的东西)

  以我的系统为例如下图所示:

  其中忽略tty0,还有四个,我的是从CPU出来的串口只有一个,就是ttyS0。(具体是那个串口和硬件同事一起决定)

确定了之后重启,进入系统选项哪里按E进入编辑,不懂得可以参考我之前的博客(关于Ubuntu下忘记密码的合集)

修改启动参数,下图为例子

 

  删掉多余部分,输入 console=ttyS0,115200n8   115200n8是波特率 ,无校验,8比特,1停止位

  按F10  进入操作系统,此时串口就可以继续接受信息,而且在开机后还可以进入到一个类似于终端的地方,进行一些操作,此时不依赖屏幕也可以对系统下达一些指令。至此目的已经达到。

tips:

  常见的串口工具有很多,PLC Xcom 等等,但是好像接受数据挺好用,发送数据比较难用 ,在上述场景中使用终端输入命令必然会依赖串口输入。这里推荐两个调试工具比较好用

  Xshell 和 putty  具体资源和用法请参考百度

that is all