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

1、首先硬件原理图上需要确认使用的是哪个串口,比如我这里使用的是串口uart4:
在这里插入图片描述
2、其次在kernel需要把对应串口的节点使能打开(dts或者dtsi文件中节点配置):
dts里面打开使能(文件:arch/arm64/boot/dts/rockchip/rk3399-box-rev2-hdmi.dts):

&uart4 {
      status = "okay";
 };

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

         uart4: serial@ff370000 {
                 compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
                 reg = <0x0 0xff370000 0x0 0x100>;
                 clocks = <&pmucru SCLK_UART4_PMU>, <&pmucru PCLK_UART4_PMU>;
                 clock-names = "baudclk", "apb_pclk";
                 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH 0>;
                 reg-shift = <2>;
                 reg-io-width = <4>;
                 pinctrl-names = "default";
                 pinctrl-0 = <&uart4_xfer>;
                 status = "disabled";
         };

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

[    0.398206] Serial: 8250/16550 driver, 6 ports, IRQ sharing disabled
[    0.398748] ff180000.serial: ttyS0 at MMIO 0xff180000 (irq = 36, base_baud = 1500000) is a 16550A
[    0.399227] ff370000.serial: ttyS4 at MMIO 0xff370000 (irq = 38, base_baud = 1500000) is a 16550A

3、测试验证uart是否通了
驱动起来后会注册ttySx设备。下面这个是对应的串口4

rk3399_all:/ # ls -l dev/ttyS4 //确认是否有串口节点

crw-rw-rw- 1 system system 4, 68 1970-01-01 00:06 dev/ttyS4

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

{    
serial0 = &uart0;        
serial1 = &uart1;        
serial2 = &uart2;        
serial3 = &uart3;        
serial4 = &uart4;        
};

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

rk3399_all:/ # echo "1234" > dev/ttyS4 && cat dev/ttyS4
1234
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

零意@

您的打赏将是我继续创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值