linux下调试串口设备

news/2024/10/15 16:17:53

USB转串口常用CH34x芯片,该芯片有linux下的驱动。
在默认情况下,大部分linux发行版都包含了CH34x的驱动,唯一缺点就是版本比较久。

可以先插上开发板, 一般是挂载到/dev/ttyCH341USB0文件下,如果该文件不存在,有两种可能,一种是驱动版本太久,可以下载官方的驱动文件,然后编译安装。
官方驱动下载地址:CH341SER_LINUX_ZIP
安装方法见该压缩包中的readme文件。

另一种可能是驱动占用,sudo dmesg | grep tty 可以查看挂载的设备,如果提示下面的信息:

[    0.425064] printk: console [tty0] enabled
[    1.288554] 00:05: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[  980.188047] usb 2-2.1: FTDI USB Serial Device converter now attached to ttyUSB0
[  980.872665] usb 2-2.1: usbfs: interface 0 claimed by ftdi_sio while 'brltty' sets config #1
[  980.876265] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0

出现interface 0 claimed by ftdi_sio while 'brltty' sets config #1时,就是brltty导致的,可以直接使用sudo apt remove brltty卸载该软件。

当然,也可以禁用该软件,这里不展开,我直接卸载掉该软件

串口调试软件

sudo apt install minicom可以安装minicom命令行程序,这个软件需要sudo执行,当然也可以看一下挂载的设备所在的用户组,然后将当前用户添加到对应的组

eric@eric-XPS-13-9360:~$ ll /dev/ttyCH341USB0 
crw-rw---- 1 root dialout 169, 0  5月  1 10:33 /dev/ttyCH341USB0
eric@eric-XPS-13-9360:~$ sudo usermod -aG dialout eric

这需要重启电脑生效,当然也可以直接用sudo打开minicom

首次使用minicom需要进行配置,执行sudo minicom -s(如果添加到了对应的用户组,则不需要使用sudo)进入配置页面,通过输入前面的选项修改对应的配置,主要修改两处地方:
选中Serial port setup
img
按照下图进行修改:
img

  1. 修改串口设备,按照实际设备文件修改
  2. Hardware Flow ControlSoftware Flow Control都是No
    3.按回车键会回退到上一级,每次修改好之后按回车,如果不修改,则按esc键

然后执行Save setup as dfl会自动保存配置,之后就不用再进行修改了。然后按esc键退出修改界面,启动开发板的电源,就能看到uboot的信息了,等开机完毕,就可以输入命令了。

退出minicom可以先按ctrl+a,然后按z,在按Q退出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/26482.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

BSP视频教程第30期:UDS ISO14229统一诊断服务CAN总线专题,常用诊断执行流程精讲,干货分享,图文并茂(2024-04-30)

视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519 【前言】 1、继前面分享了CANopen和J1939的专题后,这次继续为大家分享UDS专题视频第1期。 2、统一诊断服务(Unified Diagnostic Services,简称UDS)是车用电子的通信协议,是电子控制器EC…

Reverse Card (Hard Version)

事情是这样的,我验了这一场 CF。显然我玩原神玩多了有一个很奇怪的、不能过的算法,哦,当然,在我本机可以过。为了展现自己的智慧糖,我写一下。 出题人是先发给我了一个限制都是 \(n\) 的,因此只有这个。\(n,m\) 改改就是了。 要求 \(1\le a\le n,1\le b\le n\) 满足\(a+b…

IDEA在运行maven打war的时候报错:Cannot access defaults field of Properties

问题描述:解决方案 在pom.xml文件中引入:<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>3.3.1</version></plugin></plugins>…

重链剖分题目选讲

染色 给定一棵 \(n\) 个节点的无根树,共有 \(m\) 个操作,操作分为两种:将节点 \(a\) 到节点 \(b\) 的路径上的所有点(包括 \(a\) 和 \(b\))都染成颜色 \(c\)。 询问节点 \(a\) 到节点 \(b\) 的路径上的颜色段数量。颜色段的定义是极长的连续相同颜色被认为是一段。例如 1…

轻松使用Aspire rabbitmq framework

轻松使用aspire rabbitmq 创作初衷 aspire 是微软基金会推出的新一代云原生编排框架,具体请看 https://learn.microsoft.com/en-us/dotnet/aspire/get-started/aspire-overview 我从preview1 - preview6(目前最新 2024/5/1) 一直都有使用,在第一版的时候我就用它放入了我的…

leetcode算法热题--盛最多水的容器

题目 给定一个长度为n的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 示例 1:输入:[1,8,6,2,5,4,8,3,7] 输…

在身份认证后建立用户对象ICurrentUser

app.UseAuthentication(); 这个中间件添加后,他会为HttpContext.User设置一个ClaimsPrincipal对象。里面有身份认证token里面携带的信息。 其访问方式如下HttpContext.User.FindFirstValue("自定义字段")我们可以创建一个服务,方便在应用中使用用户信息。 因为在服…

CMake极速入门

快速上手基本的CMake引言 还在手写晦涩难懂的Makefile文件吗?现如今,主流的c++项目都采取CMake作为项目构建工具,CMake可以跨平台运行,而且语法相对Makefile而言直观很多,是时候将Makefile扫进垃圾堆了。 Hello, World! 首先先以单个源文件项目为讲解,新建一个main.cpp文…