如何让Coral Mini开发板的ttyS0串口无无关输出,供Python脚本使用?
解决Coral Mini开发板ttyS0内核输出占用问题
一、运行时临时处理(无需重启)
1. 清理剩余占用进程
先排查是否还有用户态进程占用ttyS0:
sudo lsof /dev/ttyS0
若输出显示相关进程,直接终止:
sudo kill -9 <进程PID>
2. 屏蔽内核控制台输出
你看到的IPv6: ADDRCONF...和spidev spi0.0...属于内核日志,通过调整内核printk级别可临时屏蔽:
sudo sysctl -w kernel.printk=1 4 1 7
参数说明:
- 第一个值
1:仅允许panic级别的紧急消息输出到控制台 - 其余值维持内核默认配置即可
执行后ttyS0将不再输出普通内核日志。
二、永久生效配置(重启后保持)
1. 移除ttyS0的内核控制台配置
先检查当前启动参数是否将ttyS0设为控制台:
cat /proc/cmdline
若输出包含console=ttyS0,编辑boot配置文件(Coral Mini通常使用extlinux):
sudo nano /boot/extlinux/extlinux.conf
找到APPEND行,删除其中的console=ttyS0参数(若存在多个console项,保留tty1即可),保存后重启开发板。
2. 固化printk级别设置
编辑sysctl配置文件:
sudo nano /etc/sysctl.conf
添加一行:
kernel.printk=1 4 1 7
保存后执行以下命令生效:
sudo sysctl -p
三、验证状态
处理完成后,执行以下命令确认ttyS0无进程占用:
sudo fuser /dev/ttyS0
若无输出,说明ttyS0已处于空闲状态,可直接在Python脚本中用于串口通信。
内容的提问来源于stack exchange,提问作者xxS
相关产品推荐
相关产品推荐

