用户空间GPIO控制
文章目录
1、嵌入式Linux的GPIO子系统介绍
GPIO是General Purpose I/O的缩写,即通用输入输出端口, 简单来说就是MCU/CPU可控制的引脚,这些引脚通常有多种功能, 最基本的是高低电平输入检测和输出, 部分引脚还会与主控器的片上外设绑定, 如作为串口、I2C、网络、电压检测的通讯引脚。
Linux提供了GPIO子系统驱动框架, 使用该驱动框架可以把CPU的GPIO引脚导出到用户空间, 用户通过访问/sys文件系统进行控制, GPIO子系统支持把引脚用于基本的输入输出功能, 其中输入功能还支持中断检测。 在Linux内核源码的“Documentation/gpio”目录可找到关于GPIO子系统的说明。
为了管理GPIO注册和分配,Linux内核中有一个名为gpiolib的框架。此框架为在内核空间中运行的设备驱动程序和用户空间应用程序提供 API。
1.1 sysfs文件访问GPIO
在 Linux 版本 4.7 之前,在用户空间中管理 GPIO