Linux UART接口调试技巧

本文详述了在嵌入式项目中Linux UART接口的调试流程,包括配置驱动选项、生成设备节点、软件回环测试及管脚信号验证。通过这些步骤,可以有效地排查和解决问题,确保UART接口功能的正确实现。
摘要由CSDN通过智能技术生成

在嵌入式项目中,UART接口的使用频率很高,多种模块(2G通信模组、蓝牙模块,等等)都会通过UART接口与主控MCU相连。本文将梳理UART接口调试流程,为调试工作提供参考,解决调试过程中可能遇到的问题,快速完成UART接口调试,实现模块功能。

配置驱动选项

首先查看原理图确认串口号,比如UART1,同时查看该串口引脚是否有复用功能,比如用作SD卡接口。如果有复用,需要在内核配置中取消复用功能的选项。然后选中串口功能,大致的路径为

Device Drivers > Character devices > Serial drivers

不同厂家提供的BSP有细微差别,具体路径视情况而定。在内核根目录输入make menuconfig打开内核配置界面,选中UART1。以nuc970 为例,配置如下:

$ make menuconfig

这里写图片描述

产生UART设备节点

编译运行内核,如果UART1驱动加载成功会在/dev目录下产生相应UART设备节点。以高通mdm9x07为例:

这里写图片描述

系统启动之后在/dev下有两个ttyHSL设备节点:ttyHSL0、ttyHSL1。

$ cat /proc/tty/driver/msm_serial_hsl

输入该命令可以显示设备节点详细信息,其中通过地址(0x078B3000)与data sheet对比即可确认UART1对应的设备节点为/dev/ttyHSL1。
同时通过who命令可查看当前终端tty信息。

$ who
root ttyHSL0 00:00 Jan 6 00:02:00

发现/dev/ttyHSL0为调试串口。
如果UART设备节点未产生,可在其相应驱动程序xx_probe函数中添加打印,查看xx_probe函数是否被调用,进一步查找原因。

软件回环测试

如果成功产生了UART设备节点,可通过软件回环测试确认UART驱动程序功能是否正常。测试步骤:

这里写图片描述

进入loopback文件所在目录:

$ cd /sys/kernel/debug/msm_serial_hsl

将loopback.1值设置为1,打开UART1回环测试。

$ echo 1 > loopback.1

回环测试程序代码:

#include<stdio.h>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值