开发板UART接口配置实战:从引脚定义到设备树优化

1. 从零认识UART:不只是“串口”那么简单

大家好,我是老张,在嵌入式这行摸爬滚打十几年了,从51单片机到现在的各种ARM核心板,串口(UART)可以说是打交道最多的接口,没有之一。很多刚入门的朋友一听到UART,就觉得不就是“串口”嘛,接上RX、TX就能发数据了。这话对,但也不全对。今天,我就以手头这块i.MX6ULL开发板为例,带大家从头到尾、由浅入深地走一遍UART接口的配置实战。我会把那些手册里写得云里雾里的概念,用大白话和实际踩过的坑给你讲明白,目标是让你看完就能在自己的板子上动手配起来。

UART,中文叫通用异步收发器,它的核心工作就是把芯片内部并行的数据,一位一位地、按顺序地从一根线上发出去,或者从一根线上收进来。听起来简单,但要想让它稳定可靠地工作,特别是像i.MX6ULL这种引脚功能复杂的芯片,你得过三关:第一关是硬件引脚,搞清楚你的信号到底从芯片的哪个“脚”出来;第二关是软件配置,主要是设备树,告诉内核这些脚现在要当UART用;第三关是应用适配,比如你的UART是要接RS485芯片做远距离通信,还是接RS232芯片和上位机对话。这三关一环扣一环,哪一环没搞对,轻则没数据,重则烧芯片。

为什么设备树现在这么重要?早些年搞驱动,很多配置是直接写死在内核代码里的,换块板子、改个引脚就得重新编译内核,麻烦得很。设备树就像一份给内核的“硬件接线图”,它用文本文件描述了这块板子上CPU、内存、外设都是怎么连的。我们通过修改设备树,就能灵活地配置引脚功能、使能外设,而不用动内核源码。所以,今天我们的实战核心,就是玩转设备树。我会带你从原理图开始,找到引脚编号,查复用宏,写配置节点,最后编译测试,手把手走通整个流程。咱们不搞理论空谈,就讲怎么干,以及干的时候容易栽在哪儿。

2. 硬件原理图分析:找到信号的“家门”

配置UART的第一步,绝对不是打开代码编辑器,而是拿起你的硬件原理图。这是所有工作的基石,如果这里看错了,后面所有步骤都是白费功夫。我们得在原理图上找到目标UART接口连接到了板子的哪个物理连接器(比如排针、端子)上,并记录下这个连接器的引脚编号。然后,再通过芯片的数据手册,找到这个连接器引脚对应到i.MX6ULL芯片本身的哪个引脚(PAD),以及这个引脚的名字(PAD NAME)。这个过程,我称之为“寻根问祖”。

以我手头这块ELF1开发板为例,它引出了四路UART。UART1通常预留给调试终端,所以我们重点配置UART2、UART3和UART7。打开原理图,找到标着“UART2”的网络。你会发现它连着两个信号:UART2_TXD和UART2_RXD。顺着线找,它们最终连接到了一个排针座子上,假设丝印标着“J1”。在原理图上找到J1这个元件,查看它的引脚定义表,你就能看到UART2_TXD对应J1的第72脚,UART2_RXD对应第73脚。好了,72和73就是我们需要的连接器引脚编号。

光有这个还不够,我们需要知道芯片内部是怎么对应的。这时就要请出i.MX6ULL的参考手册了。手册里会有一个详细的表格,列出了所有芯片引脚(PAD)的编号、名字以及它们能复用的各种功能。我们需要根据连接器引脚号(比如72),去查它背后连的是芯片的哪个PAD。查表后我们发现,第72脚对应的PAD名字叫UART2_TX_DATA,第73脚对应UART2_RX_DATA。看,这个名字就非常直观了,它暗示了这个引脚天生就有作为UART2数据线的“基因”。UART3的查找过程也类似。

但UART7就有点特殊了。按照同样的方法,我们在原理图上找到UART7的TX和RX,发现它们连接到了芯片的LCD_DATA17LCD_DATA16这两个PAD上。这说明了一个关键点:在i.MX6ULL上,一个物理引脚的功能不是固定的,它可以通过寄存器配置成多种功能,这叫做“引脚复用”。LCD_DATA17这个脚,默认可能是用来传输液晶屏数据的,但现在我们想把它用作UART7的接收脚,这就需要我们在软件配置里进行“功能切换”。所以,记录下这些PAD NAME至关重要,它们是后续设备树配置的“钥匙”。

为了更直观,我把ELF1开发板上这四路UART的对应关系整理成了下面这个表格,方便你对照:

串口 设备节点 物理接口 板载丝印 关键PAD NAME
UART1 ttymxc0 调试串口 (USB转TTL)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值