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

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

3天内不再提示

只需5步,教你添加GPIO按键——飞凌教程

飞凌嵌入式 2022-10-17 14:43 次阅读

本文将为大家介绍如何在飞凌OKT507-C开发板上添加两个GPIO按键,希望能够对各位工程师有所帮助,本文章以PE5、PE6两个引脚为例。话不多说,下面我们进入主题。

一、GPIO按键添加方法

1. 添加内核配置

Linux内核源代码中集成了很多功能,一般的用户只会用到其中的部分功能。用户从中挑选自己需要的功能,这就叫内核配置。下面我们开始进行配置。

注意:

(1)在进行配置前,需要对

OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/configs/sun50iw9p1smp_longan_dcfconfig文件提前做好备份;

(2)以下所有图中的红框为修改后的内容。

vi OKT507-linux-sdk/kernel/linux-4.9/.config

pYYBAGNM0lyAC3miAAAeAmBgCG8226.png

2. 添加key节点

添加结点需要我们到设备树中进行添加,设备树是一个描述硬件的数据结构,甚至你可以将其看成一个大结构体(这个结构体就是平台,成员就是具体的设备),将硬件的配置从linux内核的源码中提取出来。

下面打开我们的T507设备树文件,如下:

vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi

pYYBAGNM0lyAIeRQAAArPkS26ww202.png

其中按键键值设置如下。

poYBAGNM0luAS-uoAAAVUZbCktg004.png

相关键值可通过查看input-event-codes.h文件确定。

vi OKT507-linux-sdk/kernel/linux-4.9/include/uapi/linux/input-event-codes.h

poYBAGNM0lyAM6_sAAAVFykAKbM456.pngpoYBAGNM0lyAfkhtAAAQAstjo_Q043.png

3. 添加引脚定义

添加引脚定义需要用到pinctrl,下面给大家简单介绍下pinctrl。pinctrl就是系统中pin引脚的控制。

假如在使用到GPIO、I2C等功能时,若按引脚逐一地去找对应的寄存器进行配置非常浪费时间和精力,所以内核引入了pinctrl子系统,把引脚的复用和配置抽象出来,只需要芯片厂商把自家芯片的支持进去,就可以很方便的配置引脚。

下面打开我们的pinctrl文件,如下:

vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi

pYYBAGNM0lyAT-iKAAARYiQfzAU649.png

4. 关闭冲突功能

因为有些功能结点使用的引脚与我们这次复用的引脚发生冲突,会发生引脚不生效的错误,所以我们一定要检查好,然后将其关闭。

如下打开设备树文件:

vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi

poYBAGNM0lyAG6cUAABF-VcBCW0676.pngpoYBAGNM0lyAbBcHAAAVQURMk_0614.png

vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi

注意:

因摄像头csi复用的引脚与我们这里的冲突,虽然前面将状态disabled了,pinctrl这里也有可能会造成冲突,为了避免不必要的麻烦,我们也将这里注释掉。

pYYBAGNM0l2AdbvXAABc9HA3nkM580.png

5. 驱动修改

gpio-keys是基于input子系统实现的一个通用按键驱动,该驱动基于platform_driver架构,实现了驱动和设备分离,符合Linux设备驱动模型的思想,也符合linux驱动实现模型,即driver和device分离模型。

一般按键驱动,都是基于gpio-keys进行开发的。驱动文件如下:

vi OKT507-linux-sdk/kernel/linux-4.9/drivers/input/keyboard/gpio_keys.c

poYBAGNM0l2AE53yAAAUNSwqy5U695.pngpoYBAGNM0l2AF8SFAAAetbXvkoE328.pngpYYBAGNM0l2AE59wAAArlZ50Jtc681.pngpoYBAGNM0l2AQw80AAAsch6Xa6M661.pngpYYBAGNM0l2AKIvbAAAkauofL_s931.png

二、测试方法

终端窗口输入evtest,选择 7。

pYYBAGNM0l2AEU48AABWTXP8OBw298.png

从上图红框可以看出,通过evtest测试工具将内核设备读取并打印设备描述的事件,到这里,GPIO按键就做完了,可以用它来实现很多的功能,比如说按一下切换灯的状态,蜂鸣器响等。

当然不只是这些啦,我们还可以利用它去实现很多其他功能,欢迎各位聪明的工程师小伙伴自行发挥!

以上就是小编为大家带来的在飞凌OKT507-C开发板上添加GPIO按键的全过程。

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

    关注

    16

    文章

    1187

    浏览量

    51807
收藏 人收藏

    评论

    相关推荐

    智电子加入桨技术伙伴计划,携手PaddleX为视觉模组产品赋能添“智”

    近日,福州市睿智捷电子有限公司(以下简称智电子)正式加入桨技术伙伴计划。双方将共同探索人工智能技术在边缘端部署中的创新与应用。智电子将凭借其在边缘计算领域的丰富经验,结合
    的头像 发表于 11-01 08:07 142次阅读
    <b class='flag-5'>凌</b>智电子加入<b class='flag-5'>飞</b>桨技术伙伴计划,携手PaddleX为视觉模组产品赋能添“智”

    嵌入式技术创新日(深圳站)精彩回顾

    向前,5大展区便映入眼帘。 全产品矩阵展区展示了嵌入式丰富的产品线,从嵌入式板卡到工控机,再到丰富的动态演示方案,无不体现了嵌入式
    发表于 08-28 09:06

    TI (德州仪器) 团队到访嵌入式总部,深化交流与合作

    7月10日,TI (德州仪器) Sitara MPU业务负责人及TI中国区技术业务团队一行来到嵌入式保定总部进行交流,与嵌入式的企业负责人以及技术和产品团队进行了会谈。双方就产
    的头像 发表于 07-12 15:29 894次阅读
    TI (德州仪器) 团队到访<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式总部,深化交流与合作

    嵌入式学习-嵌入式ElfBoard ELF 1板卡-在NXP源码基础上适配ELF 1开发板的按键功能

    build.sh二、适配按键1、硬件原理 2、IOMUX配置从上图可以看出GPIO5_4连接到了连接器的22脚,GPIO5_2连到了34脚,GPIO5_9连接到了43脚。接下来需要找
    发表于 07-04 09:11

    剧透!「嵌入式技术创新日」3大亮点抢先看

    6月25日,嵌入式技术创新日(北京站)即将开幕,一场嵌入式前沿科技的高端局就在眼前。嵌入式作为国内较早专业从事嵌入式技术的企业,凭借18年的行业深耕和丰富的技术积累,已在业界赢
    的头像 发表于 06-20 17:05 788次阅读
    剧透!「<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式技术创新日」3大亮点抢先看

    嵌入式「端午节放假通知」

    嵌入式「端午节放假通知」
    的头像 发表于 06-07 08:02 369次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式「端午节放假通知」

    “合力同行 快乐”——嵌入式5月团建记

    这个5月,嵌入式全体成员来到了北京十渡东湖港风景区,开展“合力同行快乐”主题团建活动。1、凝聚力挑战赛本次团建活动不仅是大家放松心情
    的头像 发表于 05-31 14:14 269次阅读
    “合力同行 快乐<b class='flag-5'>飞</b><b class='flag-5'>凌</b>”——<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式<b class='flag-5'>5</b>月团建记

    嵌入式亮相上海充换电展# 充换电

    嵌入式
    飞凌嵌入式
    发布于 :2024年05月24日 11:32:48

    嵌入式亮相上海CPSE,展现智能充储技术新力量

    5月22日~24日,第三届上海国际充电桩及换电站展览会(CPSE)在上海汽车会展中心举行,嵌入式以“聚焦充电桩主控智造·赋能车桩智联”为主题参展,与来自全国的客户朋友及行业伙伴一同交流
    的头像 发表于 05-24 09:01 870次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式亮相上海CPSE,展现智能充储技术新力量

    Embedded World2024,嵌入式参展回顾#嵌入式

    行业资讯嵌入式
    飞凌嵌入式
    发布于 :2024年04月22日 15:51:28

    嵌入式 | CACLP 2024回顾

    嵌入式
    飞凌嵌入式
    发布于 :2024年03月22日 17:05:30

    圆满收官|嵌入式CACLP 2024精彩回顾

    本届CACLP,嵌入式展示了多款嵌入式主控产品,这些产品覆盖了体外诊断、医学影像、生命体征监测以及新兴的5G医疗应用等多个领域,充分体现了
    的头像 发表于 03-22 10:48 387次阅读
    圆满收官|<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式CACLP 2024精彩回顾

    盘点 | 嵌入式这5款100%全国产核心板值得推荐

    嵌入式有5款核心板产品通过了中国赛宝实验室的权威认证,实现了100%的电子元器件国产化率,本篇文章小编就带大家盘点一下这5款产品。
    的头像 发表于 12-29 08:01 1789次阅读
    盘点 | <b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式这<b class='flag-5'>5</b>款100%全国产核心板值得推荐

    OK113i-S开发板试用】开机测评--软件测试篇

    FileZilla_3.24.0.0_win64-setup,板子上本来有做好了sftp,就可以试做连接了。这样电脑和板子文件的传输就方便了。 5,测试wifi 1),如果我们没有以太网,或者就是想测试一下wifi,那的这
    发表于 12-25 11:03

    单片机的GPIO如何实现触摸按键的功能呢?

    单片机的GPIO如何实现触摸按键的功能呢? 触摸按键是一种使用触摸电容技术实现的按键,它通过利用人体的电容来实现按键的检测和触发。在单片机中
    的头像 发表于 12-07 11:43 3663次阅读