- 前面访问GPIO的方法:
request_mem_region()申请GPIO寄存器的物理内存区---->ioremap()IO内存的动态映射,得到虚拟地址---->访问虚拟地址。
需要查找CPU的使用手册。
- 后面的简单的GPIO访问方法:
GPIO是嵌入式平台最常见的一个硬件模块,所以linux内核将GPIO的访问过程封装成了标准的接口函数,这些接口函数在调用的时候和平台无关的。
平常使用iowrite32、ioread32等这些函数有以下优缺点:
优点:能够对申请到寄存器资源进行访问,例如GPIO寄存器、串口寄存器、ADC寄存器、I2C寄存器等。
缺点:针对GPIO配置与控制有点繁琐
因此,GPIO标准接口函数就解决了iowrite32与ioread32的缺点,操作GPIO更加的简单。