1. 前言

在一般单片机平台上,控制GPIO口是非常容易的。在代码中配置相应的GPIO寄存器,即可全权控制GPIO

在片上资源较少的情况下,这种GPIO控制方式是合理的。但是,当人们需要处理更加复杂的业务时,通常会选用运行嵌入式操作系统的硬件,如Linux、WinCE等。操作系统大大简化了复杂应用(程序)开发的成本,但它也在硬件和应用之间插入了所谓的系统调用,避免了应用中的代码直接访问硬件。也就是说,操作系统把硬件和应用分离开了,应用必须通过相应的系统调用才能控制硬件。硬件资源由操作系统统一管理,统一分配,看似操作更复杂了,实则维护了系统的稳定性和安全性。

读者可以借助树莓派以及这一系列文章循序渐进揭开 Linux GPIO 驱动的神秘面纱。

从现在开始,我们假定读者具备一定的C语言基础和单片机基础,因为这里不准备讨论C语言和单片机的基础知识。

所有源码托管在

github:https://github.com/openRPi/gpio