[Android6.0][RK3399] 串口无法输入输出 串口打印乱码

Platform: RK3399
OS: Android 6.0
Version: v2017.03

新装的电脑,安装了 minicom 后,连接上 3399 的板子无打印信息,无法输入。安装过程如下:
[Linux] 串口调试工具 Minicom 详细介绍

串口无任何输出,无法输入

minicom 工具默认配置是 tty8 ,我们采用的是 USB 转串口。执行

ls -l /dev/ttyUSB*

一下即可知道我们的串口是 ttyUSB0。
所以

sudo minicom -s

选第三项 Serial port setup  ——> A Serial Device (手动修改为 /dev/ttyUSB0) ——> F (顺便关掉硬件流控) ——> 回车 ——> Save setup as dfl
保存,保存的配置会放在 /etc/minicom/minicom.dfl 中

至此串口有输出,但是为乱码

串口有输出,为乱码

我们查看 rk3399 默认的波特率,可知其为 1500000
方法如下:

grep "baudrate" ./kernel/arch/arm64/boot/dts/rockchip/rk3399* -nir

可以看到是 rk3399-android.dtsi 文件中设置波特率

 fiq_debugger: fiq-debugger { 
 72         compatible = "rockchip,fiq-debugger"; 
            ...
 77         rockchip,baudrate = <1500000>;  /* Only 115200 and 1500000 */ 
 78         ...
 80     }; 

所以我们将 minicom 中的波特率设置为 1500000 :
选第三项 Serial port setup  ——> E Bps/Par/Bits (按 E 切换为 150000) ——> 回车 ——> Save setup as dfl

至此,串口正常输入输出。

串口在正常输出几秒后输出为乱码

这个事情发生的很莫名其妙。
合入 HDMI-IN 的 patch 后串口异常,现象为正常输出大概四秒,之后均为乱码。
回退 HDMI-IN 的 patch 后串口正常。
但是 patch 中没有任何与 Uart 有关的逻辑。

换了串口线,换插主机 USB 接口现象依旧复现。

看到 patch 中有打开几个 debug 的宏,猜测是不是数据太多了导致。
尝试将波特率从 150000 改为 115200(方法和上节相同,改 dts)
主机调试端也同样修改波特率。
问题解决。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值