查看: 796|回复: 0

[经验] 飞凌ElfBoard ELF 1板卡-应用层更改引脚复用的方法

[复制链接]

该用户从未签到

发表于 2024-3-29 15:31:58 | 显示全部楼层 |阅读模式
分享到:
本帖最后由 eefocus_3860969 于 2024-3-29 15:36 编辑

在嵌入式系统设计中,引脚复用功能通常是通过设备树(Device Tree)预先配置设定的。出厂的[color=var(--weui-LINK)]设备树中UART2_TX_DATA和UART2_RX_DATA两个引脚被复用成了UART2功能,如果想要在不更换系统镜像的情况下,将这两个引脚的功能转换为GPIO,并作为数字输出(DO)引脚来控制高低电平信号,该如何实现呢?

下面我们将逐步解析如何在应用层修改IOMUX复用寄存器,从而实现将上述两个引脚重新复用为GPIO功能的操作。

在ElfBoard官方资料中的05-硬件资料\05-2芯片数据手册\IMX6ULLARM手册中找到这两个引脚的MUX寄存器和PAD寄存器:

UART2_TX_DATA和UART2_RX_DATA的MUX寄存器如下图:


UART2_TX_DATA和UART2_RX_DATA的PAD寄存器如下图:


可以直接使用memtool工具进行修改。
提取码:ju2x

1)首先修改之前先测试
在修改之前先进行测试,直接在文件系统中,使用以下命令操作,通过万用表测量发现不能成功输出高低电平:
  1. echo 20 > /sys/gpio/export
复制代码

2) 用memtool工具读一下这两个寄存器

因为这两个寄存器是连续的,所以也可以使用这个命令直接读两个寄存器:


可以看出,这两个MUX寄存器的值为0,以UART2_TX_DATA为例,通过下图得知0表示复用成UART2功能:

同时也读一下这两个引脚的PAD寄存器:


可以看到读出来的电气参数跟设备树中配置一致:


3) 现在使用memtool工具设置寄存器:设置这两个引脚的MUX寄存器值为0x05,即复用成GPIO功能,


设置这两个引脚的PAD寄存器值为0x10b0。

4) 测试验证此时,再去将这两个引脚当做GPIO去操作:
通过万用表测量,能够控制引脚高低电平的输出。

文章到这里就结束啦,希望以上的指南能对各位小伙伴提供切实的帮助!


回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条



手机版|小黑屋|与非网

GMT+8, 2024-11-18 01:38 , Processed in 0.128203 second(s), 16 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.