1、首先硬件原理图上需要确认使用的是哪个串口,比如我这里使用的是串口uart4:

rk3399_android7.1调试串口uart功能和测试是否能通讯

2、其次在kernel需要把对应串口的节点使能打开(dts或者dtsi文件中节点配置):

dts里面打开使能(文件:arch/arm64/boot/dts/rockchip/rk3399-box-rev2-hdmi.dts):

rk3399_android7.1调试串口uart功能和测试是否能通讯

dtsi里面的资源描述(文件:./arch/arm64/boot/dts/rockchip/rk3399.dtsi):

rk3399_android7.1调试串口uart功能和测试是否能通讯

 

3、驱动设备注册log

debug串口有以下log打印,说明驱动注册成功了。如果pinctrl跟其他驱动有冲突的话,会报pinctrl配置失败的log。

rk3399_android7.1调试串口uart功能和测试是否能通讯

3、测试验证uart是否通了

驱动起来后会注册ttySx设备。下面这个是对应的串口4

rk3399_android7.1调试串口uart功能和测试是否能通讯

驱动会根据aliase,来对应串口编号,如下: serial0最终会生成ttyS0,serial3会生成ttyS3设备。

rk3399_android7.1调试串口uart功能和测试是否能通讯

验证方法: 镊子短接tx rx,然后在串口或者adb,敲入命令: echo “1234” > dev/ttyS4 && cat dev/ttyS4,可以实现数据自发自收(能够收发字符串:“1234”)!

rk3399_android7.1调试串口uart功能和测试是否能通讯

 

相关文章:

  • 2022-12-23
  • 2021-12-17
  • 2021-10-03
  • 2021-09-29
  • 2021-12-03
猜你喜欢
  • 2022-12-23
  • 2022-02-16
  • 2021-10-31
  • 2022-01-12
  • 2021-11-17
  • 2021-11-09
  • 2022-01-01
相关资源
相似解决方案