linux设备树sysfs,迅为-iMX6开发板-设备树内核-sys方式控制GPIO
本文档主要讲解迅为-iMX6 开发板,通过 sys 文件的方式来控制 GPIO。
要通过 sys 控制 GPIO,需要做以下几步操作:
1 开启内核中的“GPIO_SYSFS”驱动配置;
2 确保 IO 被配置为 GPIO,并且没有驱动调用;
3 计算 GPIO 编号,通过命令或者脚本操作 GPIO。
1 GPIO_SYSFS 配置
如下图所示,可以看到内核中 GPIO_SYSFS 是默认配置的,这个驱动所有原厂 BSP 基本
都会包含,一般情况下是默认配置的。
2 确保 IO 被配置为 GPIO,并且没有驱动调用
这里以 LED 的 GPIO 为例, 将 LED 的驱动去掉,确保没有驱动调用。
Device Drivers --->
Character devices --->
Enable LEDS config ---去掉,并重新编译内核烧写到开发板中。
如下图所示配置 menuconfig。
烧写到开发板中,确保没有 led 的设备节点,默认的内核中是有 led 设备节点的,如下图
所示。
3 计算 GPIO 编号并测试
LED 的网络标号为:KEY_ROW6
LED 对应 GPIO 的 PIN 脚名称为:GPIO_2
GPIO_2 对应的宏定义为:#define MX6QDL_PAD_GPIO_2__GPIO1_IO02
那么 GPIO_2 对应的 GPIO 的 bank[n]为 GPIO1_IO02,也就是 bank 1 的 02 号 GPIO。
GPIO 的编号计算方法为:nr=(P -1)* 32 + N;
nr 为编号,P 为 bank 号,N 为具体 bank 中的编号。
那么 P=1,N=2,通过计算得出 nr=2。
测试命令为:
echo nr > /sys/class/gpio/export
echo out > /sys/class/gpio/gpionr/direction
echo 1 > /sys/class/gpio/gpionr/value ---> 写高电平,小灯亮
echo 0 > /sys/class/gpio/gpionr/value ---> 写低电平,小灯灭
以上 nr 替换成 GPIO 的编号,则命令为:
echo 2 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio2/direction
echo 1 > /sys/class/gpio/gpio2/value --->写高电平,小灯亮
echo 0 > /sys/class/gpio/gpio2/value ---> 写低电平,小灯灭
如下图所示,执行三条命令之后小灯亮。
接着执行 echo 0 > /sys/class/gpio/gpio2/value 小灯灭。
至此,sys 测试 gpio 完成。
另外需要注意的是,本文档没有介绍 LED 对应的管脚是如何配置的,因为 LED 驱动能够
运行,那么肯定在设备树文件中配置了。
如果想要掌握如何配置管脚,可以参考“iTOP-iMX6-设备树内核-IO 配置分析文档
_V1.X”和“iTOP-iMX6-设备树内核-IO 扩展例程_V1.X”文档。
linux设备树sysfs,迅为-iMX6开发板-设备树内核-sys方式控制GPIO相关推荐
- 迅为IMX6开发板设备树内核-sys方式控制GPIO-SYSFS配置
主要参数 CPU:ROCKCHIP RK3588 八核A76+A55 主频: 八核处理器,A76四核+A55四核,主频2GHz 内存: 8GB(最高可支持32GB) 存储器: 32GB 电源管理芯片: ...
- 迅为IMX6开发板Mfgtools工具单独烧写镜像-设备树Qt系统
烧写设备树版本 Qt 系统要使用 iMX6Q 设备树光盘里的烧写工具,将文件夹下的 cfg.ini 修改成如下图所示: 打开"android_m6.0.1_2.0.0_ga_tool_201 ...
- imx6 linux 时钟,迅为-iMX6开发板-驱动-实时时钟RTC以及Linux-c测试例程
当Linux开发者谈论一个实时时钟,他们通常指的是某种能记录墙上时间,并且有备用电 池,以至于在系统关机的时候仍然可以工作的器件. Linux 有两个系列广泛兼容的用户空间 RTC 设备节点: /de ...
- imx6板载linux登录时间,大干货!迅为IMX6开发板丨Android丨Ubuntu丨Linux丨三大系统全开源.doc...
大干货!迅为IMX6开发板丨Android丨Ubuntu丨Linux丨三大系统全开源.doc (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 ...
- imx6 linux 开发环境,大干货!迅为IMX6开发板丨Android丨Ubuntu丨Linux丨三大系统全开源...
描述 迅为IMX6开发板丨Android丨Ubuntu丨Linux丨三大系统全开源 板载模块:WIFI蓝牙.4G.GPS.SATA.CAN/RS485.重力加速度计,电子罗盘等 资料丰富:原理图.底板 ...
- 迅为IMX6开发板真实产品案例分享-专为研发用芯选择
迅为IMX6开发板: Android4.4系统 Linux + Qt5.7系统 Ubuntu12.04系统 部分真实案例:HMI:3D打印机:医疗设备:工控机:触控一体机:车载终端 核心板兼容:IMX ...
- 迅为IMX6开发板适用于HMI|车载电脑|工业控制|医疗仪器|智能家居 灵活进行产品开发平台...
i.MX6开发平台行业中的应用 适用于HMI.POS机.车载电脑.工业控制.轨道交通.医疗仪器.智能家居.数据终端等行业. 迅为iMX6开发板采用核心板+底板结构设计,高品质,稳定性强,可以更灵活地进 ...
- linux imx6 书籍,迅为iMX6开发板-Linux系统-TFTP使用文档
TFTP(Trivial File Transfer Protocol,简单文件传输协议),是一个基于 UDP 协议实 现的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大.不复杂的应用 ...
- 迅为IMX6开发板支持全网通4G模块丨GPS模块丨WIFI蓝牙丨千兆以太网
迅为i.MX6开发板丨迅为i.MX6Q开发板丨四核imx6开发板丨Cortec-A9开发板丨资料介绍: 特点: 处理器:Freescale Cortex-A9四核i.MX6Q主频1GHz 核心板配置: ...
最新文章
- AAAI 2021: 微调对小样本学习究竟起何作用?搜索或是解决方案
- PHP将XML转成数组
- 算法------零钱兑换(Java版本)
- delphi之找色和色块
- for循环批量写文件 shell_shell脚本:for循环批量重命名带空格文件名的文件
- PageObjects 设计模式
- Meta http-equiv 大全
- JAVA里static 变量在程序执行结束后是否被消毁
- vasp和ms_采用MS建模的基本步骤以及vasp新手入门需要注意的十个简单问题
- vsto excel决跨表引用值不能更新的问题
- 计算机网络及光纤通信实验教程,电子科技大学光纤通信视频教程
- 方差公式初三_方差|初中方差的计算公式
- RF- BuiltIn_Run Keyword关键字系列
- 计算机桌面是快捷方式,我的电脑桌面上的图标都变成快捷方式了怎么处理?
- [DA45] 信用卡诈骗分析
- 【华人学者风采】刘庄 苏州大学
- 灵魂碎片的收集(构造)
- node.js毕业设计安卓英语答题APP(程序+APP+LW)
- 怎么攻击天猫商家 java,天猫店铺被恶意攻击,大家看看是怎么做的。
- python绘制五子棋棋盘_4.Python画一个五子棋棋盘
热门文章
- Linux stat命令和AIX istat命令 (查看文件修改时间)
- kettle转换和作业插件开发及调试
- 敏捷遇上UML—软创基地马年大会(广州站 2014-4-19)
- linux中断响应时间太慢_Linux中的进程调度有哪些核心概念?
- 【免费毕设】PHP校园二手信息网站的设计与开发(源代码+论文)
- 进程与服务的签名_服务器被黑客攻击后如何查找溯源攻击
- canvas 画点_css+canvas 随便画一个星空
- linux 目录提权,【安全科普】Linux提权——利用可执行文件SUID
- python3 多线程 threading.local 代理_threading.local的作用?Python每日3题(多线程专题)...
- matlab中 编程如和隐藏,在matlab中编程(如何实时处理)