【问题标题】:how does gpio_request deal with the GPIO number to virtual memory address on Linux?gpio_request 如何在 Linux 上将 GPIO 编号处理为虚拟内存地址?
【发布时间】:2012-12-13 13:35:50
【问题描述】:

有一个问题是gpio_request需要一个GPIO号,但是在内核中它需要一个地址来处理gpio,Linux是如何实现的?

始终在芯片规范中,例如 MSM8x60 或任何 SOC 芯片规范,都有一个内存映射显示哪个内存区域用于 GPIO。但是在内核驱动中,我们使用gpio号来访问gpio。

我的问题是: 1、chip spec的内存映射中的内存地址是物理地址吗? 2、在内核中,它使用虚拟地址,内核如何将一个gpio号转换为虚拟地址?

谢谢!

亲切的问候 王比尔

【问题讨论】:

    标签: linux memory-address gpio


    【解决方案1】:

    通常,在嵌入式系统上,有一个整个地址的地址映射,这个地址是虚拟的。

    在使用gpio端口号时,相关的GPIO驱动之类的东西可以将gpio端口号转换为虚拟地址,MMU会定位到物理地址。

    【讨论】:

      猜你喜欢
      • 2010-09-26
      • 2021-07-25
      • 2018-07-09
      • 1970-01-01
      • 2013-10-29
      • 2018-10-09
      • 1970-01-01
      • 2014-09-06
      • 2015-06-18
      相关资源
      最近更新 更多