0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ELF 1技术贴|应用层更改引脚复用的方法

ElfBoard 2024-03-27 14:14 次阅读

嵌入式系统设计中,引脚复用功能通常是通过设备树(Device Tree)预先配置设定的。出厂的设备树中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寄存器如下图:

wKgZomYDt9uAGqseAAK-ypLX9Js555.png

wKgaomYDt-OABKy7AALTCsxn_OE911.png

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

wKgZomYDuAWAVKSiAAKf5aee3fE156.png

wKgZomYDuCOAcxUuAALHfvjQlNM608.png

可以直接使用memtool工具进行修改。

链接:https://pan.baidu.com/s/10ixxhbwf4yGajS8SYUIATQ

提取码:ju2x

(1)测试

在修改之前先进行测试,直接在文件系统中,使用以下命令操作,通过万用表测量发现不能成功输出高低电平:

echo 20 > /sys/class/gpio/export echo "out" > /sys/class/gpio/gpio20/direction echo "1" > /sys/class/gpio/gpio20/value echo "0" > /sys/class/gpio/gpio20/value echo 21 > /sys/class/gpio/export echo "out" > /sys/class/gpio/gpio21/direction echo "1" > /sys/class/gpio/gpio21/value echo "0" > /sys/class/gpio/gpio21/value

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

wKgaomYDuFaAWpP8AAXNvKMkpEU002.png

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

wKgaomYDuHGAc_WvAAYhACLo-CU923.png

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

wKgaomYDuImAWYOJAAMckPQvN4c979.png

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

wKgaomYDuJ2AFAljAAY-M47Cn1E740.png

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

wKgZomYDuMiAOrZuAAP_p17HLuE758.png

(3)现在使用memtool工具设置寄存器

设置这两个引脚的MUX寄存器值为0x05,即复用成GPIO功能。

wKgZomYDuO-AaxAqAAaaIx1BW64749.png

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

wKgaomYDuQqAcrk1AAaV_TgJj3M843.png

(4)测试验证

此时,再去将这两个引脚当做GPIO去操作:通过万用表测量,能够控制引脚高低电平的输出。
完成以上所有步骤后,即可实现应用层对引脚复用功能的动态调整。期待以上的指南能对各位小伙伴提供切实的帮助!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5068

    文章

    19013

    浏览量

    303127
  • Linux
    +关注

    关注

    87

    文章

    11222

    浏览量

    208890
  • 开发板
    +关注

    关注

    25

    文章

    4943

    浏览量

    97177
收藏 人收藏

    评论

    相关推荐

    嵌入式学习-飞凌ElfBoard ELF 1板卡 - 应用层更改引脚复用方法

    应用层修改IOMUX复用寄存器,从而实现将上述两个引脚重新复用为GPIO功能的操作。 在ElfBoard官方资料中的05-硬件资料\\\\05-2芯片数据手册\\\\IMX6ULLAR
    发表于 03-29 15:28

    I.MX6ULL-飞凌 ElfBoard ELF1板卡- 应用层更改引脚复用方法

    应用层修改IOMUX复用寄存器,从而实现将上述两个引脚重新复用为GPIO功能的操作。 在ElfBoard官方资料中的05-硬件资料\\\\05-2芯片数据手册\\\\IMX6ULLAR
    发表于 03-29 15:29

    应用层通信安全

    `欢迎工程师的我们!电子发烧友E2E技术沙龙-北京站,本期讨论主题是关于“应用层通信安全”E2E活动北京站活动链接~~http://url.elecfans.com/u/e524cb1b33
    发表于 03-18 17:55

    【学习打卡】OpenHarmony的应用层说明

    因为有了应用层,使得我们在这个阶段,可以把数据或应用程序以用户可以看明白的可视形式呈现。应用层需要处理以下功能:1.确保接收设备被识别、可到达并准备好接受数据;2.在适当的情况下,启用设备之间的身份验证
    发表于 07-14 08:44

    基于应用层负载均衡策略的分析

    基于应用层负载均衡策略的分析
    发表于 03-26 08:28 8次下载

    应用层和后台分析便携式电子产品的节能技术

    应用层和后台分析便携式电子产品的节能技术  便携式电子产品的节能技术基本上可以按照其执行方式分为应用层技术及后台
    发表于 11-30 10:03 608次阅读
    从<b class='flag-5'>应用层</b>和后台分析便携式电子产品的节能<b class='flag-5'>技术</b>

    SIP应用层网关技术

    本文提出了“SIP应用层网关”技术,并将其应用于网络通信中来建立相对合理、完善的SIP网络,以解决SIP私网远程控制中穿越NAT/FireWall的难题
    发表于 04-20 11:37 5731次阅读

    Zigbee应用层规范

    本内容介绍了Zigbee应用层规范
    发表于 05-24 11:37 85次下载
    Zigbee<b class='flag-5'>应用层</b>规范

    认知无线电MAC应用层仿真软件

    认知无线电MAC应用层仿真软件(澳莱特电源技术有限公司)-该文档为认知无线电MAC应用层仿真软件总结文档,是一份很不错的参考资料,具
    发表于 09-15 11:40 11次下载
    认知无线电MAC<b class='flag-5'>层</b>与<b class='flag-5'>应用层</b>仿真软件

    嵌入式Linux应用层开发教程(一)基本概念

    1 应用层与驱动要想学习嵌入式Linux应用层的开发,首先要区分好应用层和驱动之间的关系。我
    发表于 11-01 17:59 14次下载
    嵌入式Linux<b class='flag-5'>应用层</b>开发教程(一)基本概念

    嵌入式的编程思想:应用层与硬件的“藕断丝连”

    嵌入式的编程思想:应用层与硬件的“藕断丝连”要做到嵌入式应用的代码逻辑清晰,且避免重复的造轮子,没有好的应用架构怎么行:1. 如果没有好的架构,移植将会是一件很痛苦的事情;2. 如果没有好的架构
    发表于 01-13 14:29 2次下载
    嵌入式的编程思想:<b class='flag-5'>应用层</b>与硬件<b class='flag-5'>层</b>的“藕断丝连”

    应用层知多少?(总结在末尾)

    为什么需要应用层运输给应用进程提供了端到端的通信服务,但不同的网络进程之间,还需要有不同的通信规则,因此运输之上还需要有应用层应用层
    的头像 发表于 08-26 11:16 1320次阅读
    <b class='flag-5'>应用层</b>知多少?(总结在末尾)

    物联网的技术架构及应用层是什么?

    物联网的技术架构包括感知、网络、平台应用层应用层是物联网的顶层,它的主要功能是将感知
    的头像 发表于 07-15 08:56 3600次阅读

    ELF 1技术|LCD作为终端控制台的方法

    ELF1/ELF1S开发板及显示屏)(ELF1/ELF1S开发板及显示屏)对于嵌入式爱好者来说,调试开发板是必不可少的工作。一般情况下是使用串口作为终端进行调试,如果网络没问题的话,
    的头像 发表于 12-20 17:11 387次阅读
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|LCD作为终端控制台的<b class='flag-5'>方法</b>

    ELF 1技术|在NXP源码基础上适配ELF 1开发板的LED功能

    本次源码适配工作是在NXPi.MX6ULLEVK评估板的Linux内核源码(特定版本:Linux-imx_4.1.15)基础上进行的。主要目标是调整功能接口引脚配置,以适应ELF1开发板。下面以
    的头像 发表于 12-29 10:04 804次阅读
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|在NXP源码基础上适配<b class='flag-5'>ELF</b> <b class='flag-5'>1</b>开发板的LED功能