GPIO设备驱动与点亮LED
文章目录
- GPIO设备驱动与点亮LED
- 1、Linux中的GPIO介绍
- 2、GPIO库和工具
- 3、Linux内核GPIO操作步骤
- 3.1 验证GPIO
- 3.2 请求GPIO
- 3.3 导出GPIO到sysfs(可选)
- 3.4 设置GPIO为输入/输出
- 3.5 更改GPIO的电平(值)
- 3.6 读取GPIO的值(电平)
- 3.7 释放GPIO
- 4、GPIO驱动实现
- 5、用户空间应用程序及验证
通用输入/输出(General Purpose Input/Output,GPIO) 是一种灵活的软件控制数字信号。GPIO 是嵌入式 Linux 系统中最常用的外设之一。从 4.8 版本开始,Linux 内核引入了一个新的基于字符设备的用户空间 API,用于管理和控制 GPIO(通用输入/输出)。本文介绍了新的GPIO接口API基础知识以及一个简单的教程/示例来演示如何使用新的 API 来控制 GPIO。
1、Linux中的GPIO介绍
在内部,Linux 内核通过生产者/消费者模型实现对 GPIO 的访问。 有产生 GPIO 线的驱动程序(GPIO 控制器驱动程序)和使用 GPIO 线的驱动程序(键盘、触摸屏、传感器等)。
为了管理 GPIO 注册和分配,Linux 内核中有一个名为 gpiolib 的框架。 该框架为在内核空间和用户空间应用程序中运行的设备驱动程序提供 API。
注意,在Linux4.7及以前的版本,在用户空间中管理 GP