LubanCat RK3588 实时 Linux 开发(二):picocom 串口调试完整指南
摘要介绍/dev/ttyUSB0的识别、LubanCat 常用串口参数、picocom 快捷键和网络失效时的串口排障方法。适用对象需要通过 USB-TTL 串口维护 LubanCat 的开发者。串口电平、接线和设备名必须按实际硬件确认。文章目录本篇要解决什么问题串口调试链路为什么需要串口一、识别串口设备二、使用 1500000、8N1 打开串口三、正确退出 picocom四、权限问题五、乱码、无输出和设备忙怎么排查1. 能打开串口但全是乱码2. 串口完全没有输出3. Device or resource busy六、建议把启动日志作为“升级证据”保存七、本文验收清单小结工作流实测截图专栏导航参考资料本篇要解决什么问题在嵌入式 Linux 内核升级中SSH 是“方便的通道”串口才是“兜底的通道”。如果新内核启动失败、网卡驱动没有加载、IP 地址改变SSH 往往最先失效而调试串口仍然可以看到 U-Boot、Kernel、initramfs 和 systemd 的原始日志。本文重点解决四个实际问题如何确认 USB-TTL 在 Linux 主机上对应哪个设备节点为什么 LubanCat 常用1500000 8N1以及乱码时先查什么picocom 如何正确退出、查看参数和保存日志串口被占用或权限不足时如何定位。串口调试链路层级典型现象串口能看到什么U-Boot启动介质、DTB、kernel image 选择错误U-Boot 命令与加载日志Kernel内核崩溃、驱动 probe 失败earlycon、内核日志initramfs找不到 rootfsBusyBox/initramfs 提示systemd服务失败、网络未就绪服务启动日志与 login 提示为什么需要串口SSH 只能在网络和 sshd 正常时使用。修改启动参数、网卡配置或内核后设备可能已经启动但网络尚未配置如果内核或 initramfs 出错SSH 更无法提供线索。串口可以直接观察 U-Boot、内核、initramfs 和 systemd 日志是嵌入式 Linux 的“最后通道”。一、识别串口设备开发主机执行sudoaptinstallpicocomls/dev/ttyUSB*ls/dev/ttyACM* picocom--help|head常见结果是/dev/ttyUSB0。picocom --help开头应显示HIGH_BAUD is enabled否则当前构建可能不支持 1500000 波特率。拔插设备后编号可能变为/dev/ttyUSB1不要把编号永久写死在脚本中生产环境可以根据 USB 设备属性建立 udev 规则。二、使用 1500000、8N1 打开串口LubanCat 调试串口常用参数为 1500000 波特率、8 数据位、无校验、1 停止位、关闭流控sudopicocom\--baud1500000\--flown\--parityn\--databits8\--stopbits1\/dev/ttyUSB0这里保留 picocom 默认的串口锁避免两个程序同时读取同一个设备。只有明确知道锁文件机制不可用时才考虑--nolock。如果终端出现乱码优先检查波特率、TX/RX/GND 接线和串口电平而不是马上修改内核。三、正确退出 picocompicocom 使用“前缀键 命令键”Ctrl-A然后 Ctrl-X屏幕出现Terminating... Thanks for using picocom即表示已经退出。直接按Ctrl-C通常只是把中断字符发送给目标设备上的前台程序不会关闭 picocom。常用快捷键操作按键显示帮助Ctrl-A、Ctrl-H也可用Ctrl-K退出Ctrl-A、Ctrl-X不恢复串口设置直接退出Ctrl-A、Ctrl-Q显示当前串口参数Ctrl-A、Ctrl-V发送普通Ctrl-A连按两次Ctrl-A不要把Ctrl-A、Ctrl-U当成帮助键它会把波特率提高一档可能立即产生乱码。参数被误改后可退出并使用完整启动命令重新打开。四、权限问题临时解决sudopicocom /dev/ttyUSB0-b1500000长期解决sudousermod-aGdialout$USER重新登录后用户通常即可直接访问串口。若提示设备忙检查是否已有 picocom、minicom 或 ModemManager 占用sudofuser-v/dev/ttyUSB0ps-ef|grep-E[p]icocom|[m]inicom不要同时运行两个串口工具。需要保存启动日志时可以增加picocom--baud1500000--flown--parityn\--databits8--stopbits1\--logfileserial-boot.log /dev/ttyUSB0五、乱码、无输出和设备忙怎么排查1. 能打开串口但全是乱码优先检查下面四项而不是先改内核波特率是否为目标板实际使用值TX/RX 是否交叉连接GND 是否共地USB-TTL 电平是否与板卡调试口匹配。如果刚刚误按了 picocom 的波特率切换快捷键退出后使用完整参数重新打开通常比继续在会话里试更可靠。2. 串口完全没有输出可以先确认 USB 设备节点是否存在再执行ls-l/dev/ttyUSB* /dev/ttyACM*2/dev/nullsudofuser-v/dev/ttyUSB0如果设备节点存在但没有任何启动日志还要确认自己连接的是板卡的调试 UART而不是普通业务串口。3.Device or resource busy不要直接加--nolock绕过。先找出占用程序sudofuser-v/dev/ttyUSB0ps-ef|grep-E[p]icocom|[m]inicom|[s]creen如果系统启用了 ModemManager它也可能探测 USB 串口需要结合实际环境判断是否影响当前设备。六、建议把启动日志作为“升级证据”保存一次内核升级至少应保留一份从上电开始的完整串口日志。日志中最好能同时看到U-Boot 选择了哪个启动项加载了哪个 kernel、initrd 和 DTBLinux kernel releaserootfs 挂载过程最终是否出现 login 提示。这样即使 SSH 失败也可以通过日志区分“系统没起来”和“系统已经起来但网络没通”。七、本文验收清单能识别/dev/ttyUSBx或/dev/ttyACMx能用正确波特率看到可读启动日志知道Ctrl-ACtrl-X正确退出能定位串口占用进程能使用--logfile保存完整启动日志。小结串口调试的价值在于“网络失效时仍能看到真相”。建议每次升级内核都保留一份完整串口日志并在日志中标注上电、重启和执行命令的时间点。工作流实测截图图1实际使用的 /dev/ttyUSB0、1500000、8N1 和无流控参数。图2调试串口捕获的 DDR 与内核重启信息串口日志是 SSH 不可用时的第一现场。专栏导航专栏LubanCat RK3588 实时 Linux 开发实战第 2/13 篇上一篇LubanCat RK3588 实时 Linux 开发一移植前先确认硬件、系统与内核版本下一篇LubanCat RK3588 实时 Linux 开发三SDK 环境准备与 flex、bison、LZ4 依赖排查参考资料picocom 官方 READMEpicocom 手册页文中的版本号、接口名、设备地址和测试数据均应以自己的板卡实测为准引用命令前请先确认当前 SDK、内核和启动布局。标签picocom串口调试LinuxLubanCat嵌入式开发

相关新闻

Spring 定时任务与分布式锁:避免重复执行的实践

Spring 定时任务与分布式锁:避免重复执行的实践

Spring 定时任务与分布式锁:避免重复执行的实践 1. 问题场景:为什么定时任务会重复执行? 假设你负责一个订单系统,每天凌晨 2 点需要给未支付订单发提醒邮件。最初部署单机时,Scheduled 注解简单可靠。后来为了高可用&…

2026/10/24 7:07:56 阅读更多 →
从零自制Switch大气层整合包

从零自制Switch大气层整合包

一、 准备安装包 组件名称核心作用安装位置Atmosphere自定义固件(CFW),系统运行的核心TF卡根目录hekate引导加载程序(Bootloader),用于启动CFW和备份系统TF卡根目录,把hekate_ctcaer_x.x.x.bin…

2026/10/25 2:55:10 阅读更多 →
Android连接云MySQL正确姿势:HTTP API网关方案

Android连接云MySQL正确姿势:HTTP API网关方案

简介:本资源是一套完整的Android应用开发实战项目,面向具备Java与Android Studio基础的开发者,解决移动端连接云服务器MySQL数据库实现用户登录注册的核心需求。项目涵盖客户端Android应用、后端Spring Boot RESTful API及MySQL数据库交互全流…

2026/10/24 21:52:35 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/24 11:09:31 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/24 17:47:00 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/24 18:34:36 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/24 9:46:55 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/25 3:12:30 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/24 21:09:59 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/24 9:15:56 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/24 11:09:35 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/24 5:28:28 阅读更多 →