我正在使用“ioremap”来映射Ti AM3359数据表中GPIO端口的地址。 代码运行正常。
问题:
1>问题是,为什么我们需要将虚拟地址映射到物理地址? 是因为物理地址是我们想要访问的硬件的真实地址吗?
2 - ;如果以上情况属实,那么为什么数据表不直接给出物理地址。
3> “ioremap”返回的物理地址在具有不同RAM量的不同板中会有所不同吗?
答案 0 :(得分:1)
至于你的第一个问题,你使用ioremap
的原因是因为内核的地址空间与物理地址空间不对应。您需要将物理页面映射到虚拟地址空间,以便能够解决它们。这就是ioremap
的作用。
至于你的第二和第三个问题,我不知道你的数据表给出或不给出的内容。 :)
通常情况下,我希望硬件数据表能够提供物理地址,除非必须通过总线特定机制找到或配置物理地址。你的实际指定的是什么,如果没有?
您可能需要阅读this以获取更多信息。
答案 1 :(得分:1)