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
rk3399_android7.1调试串口uart功能和测试是否能通讯相关推荐
- 2.3 基于FPGA的UART协议实现(一)串口信号定义和接线方法-5针串口-9针串口-全功能串口
通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART.它将要传输的资料在串行通信与并行通信之间加以转换.作为把并行输入信号 ...
- CSR8675 使用串口 UART 收发功能
CSR8675 使用串口 UART 收发功能 CSR8675 实现 UART 功能有两种方式,一种是托管连接,另一种是直接连接. 托管连接:不直接操作 Stream,通过 VM 层创建 Source ...
- STM32 HAL库 UART 串口读写功能笔记
https://www.cnblogs.com/Mysterious/p/4804188.html STM32L0 HAL库 UART 串口读写功能 串口发送功能: uint8_t TxData[10 ...
- 串口调试软件,功能强大,侦测,拦截,逆向分析串口通汛协议
串口调试软件,功能强大,侦测,拦截,逆向分析串口通汛协议,是RS232 /422/485串行端口的专业工貝软件编号:436653364752811GUANXFENG
- 修改UBOOT和LINUX调试串口(TI达芬奇芯片--DM6467)
Posted on 2011-10-31 10:53 jamiedu 阅读(889) 评论(0) 编辑 收藏 1.1 概述 TI针对DM6467提供的UBOOT和内核默认都是串口0作为调试串口输出的, ...
- ARM架构与编程(基于I.MX6ULL): 串口UART编程(七)
文章目录 1.硬件知识 URAT硬件介绍 1.1.串口的硬件介绍 1.2.串口的参数 1.3.串口电平 1.4 串口内部结构 2. IMX6ULL UART操作 2.1. 串口编程步骤 2.1.1. ...
- 痞子衡嵌入式:嵌入式里串口(UART)自动波特率识别程序设计与实现
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是嵌入式里串口(UART)自动波特率识别程序设计与实现. 串口(UART)是嵌入式里最基础最常用也最简单的一种通讯(数据传输)方式,可以说 ...
- 新唐nuc972更换uboot调试串口
最近开新项目用到新唐的nuc972平台,由于硬件工程师为了方便布线,所以将原本用于调试口的uart0改成了485,需要将uart1更改为调试串口.最初从nuc972开发文档开始看,看uboot配置和修 ...
- STM32单片机实现DMA+ADC+UART功能
突然想测试一下STM32单片机ADC采样速率问题,按照常规方法,可以通过ADC采样,然后将采样值打印出来.但是这种方法在处理和打印数据的时候会占用很多时间,导致处理数据的时间超过了ADC的采样时间.于 ...
- Esp8266 进阶之路25【高级篇】深聊下esp8266的串口 Uart 通讯中断编程,为您准备好了 NONOS 版本 和 RTOS 系统的串口驱动文件。(附带Demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...
最新文章
- java程序语句是_Java-语言编程
- Java多线程使用场景
- Spring工具类ToStringBuilder用法简介
- 疯子的算法总结(一) 位运算(快速幂、快速乘)
- python2转python3代码_Python2代码转成Python3代码
- CDialog中使用工具栏和状态栏
- 对Spring Boot还陌生吗?
- 2010年初的一点随想
- 如何用python计算年龄_python 实现年龄计算程序
- 易语言 文件捆绑机的原理【转载】
- 【无标题】【光纤光缆小知识】多模光纤的分类及应用
- 【三石jQuery视频教程】01.图片循环展示_重发
- MATLAB实现大家来找茬GUI程序
- 离散数学数理逻辑部分【1】
- 2021 46届icpc 南京
- matlab的exp函数学习
- Windows server 2008升级为 Windows server 2016
- 四招识卖假点卡网站 五大常见骗术显形(转)
- Windows10如何滑动关机(与以前不一样的方式)
- Oracle Exadata体系笔记