1

我正在使用“ioremap”来映射 Ti AM3359 数据表中 GPIO 端口的地址。代码运行良好。

问题:

1>问题是,为什么我们需要将虚拟地址映射到物理地址?是不是因为物理地址是我们要访问的硬件的真实地址?

2> 如果上面是真的那么,为什么数据表不直接给出物理地址。

3> “ioremap”返回的物理地址是否会在不同RAM数量的板上有所不同?

4

2 回答 2

1

至于您的第一个问题,您之所以使用ioremap是因为内核的地址空间与物理地址空间不对应。您需要将物理页面映射到虚拟地址空间才能完全寻址它们。这就是这样ioremap做的。

至于您的第二个和第三个问题,我不知道您的数据表提供或不提供什么。:)

通常,我希望硬件数据表提供物理地址,除非物理地址必须通过特定于总线的机制找到或配置。如果不是,您实际上指定的是什么?

您可能需要阅读内容以获取更多信息。

于 2014-02-07T09:23:04.953 回答
1
  1. 因为内核在虚拟地址而不是物理地址上运行
  2. 在我的数据表中只有物理地址
  3. afaik ioremap 返回映射您的物理地址的虚拟地址
于 2014-02-07T09:26:15.597 回答