有一个问题,gpio_request需要一个GPIO号码,但是在内核中它需要一个地址来处理gpio,Linux如何实现这个呢?
在芯片规格上,如MSM8x60或任何SOC芯片规格,有一个内存映射显示哪个内存区域为GPIO。 但在内核驱动程序中,我们使用gpio号码来访问gpio。
我的问题是:1,芯片规格内存映射中的内存地址是否是物理地址? 2,在内核中,它使用虚拟地址,内核如何将gpio号码转换为虚拟地址?
谢谢!
亲切的问候Bill Wang
通常,在嵌入式系统中,整个地址是一个地址映射,该地址是虚拟的。
当使用gpio端口号时,相关的GPIO驱动程序或类似的东西可以将gpio端口号转换为虚拟地址,而MMU将定位到物理地址。