1

我正在飞思卡尔 MPC8306 上开发 LED 驱动器。在驱动程序代码中,我对 GPIO 寄存器执行 ioremap 并在重新映射的 GPIO 寄存器地址上调用 remap_pfn_range,然后在用户空间调用 mmap 以将 GPIO 寄存器映射到用户空间。我以前没有这样做过,我想知道这种方法是否有效。有人可以帮助我吗?提前致谢。

4

2 回答 2

1

您应该使用/dev/mem接口来访问 GPIO 寄存器。此处提供了通过另一个嵌入式板上的 GPIO 控制 LED 的良好参考。

于 2013-11-02T11:56:04.407 回答
0

一种更简单的方法可能只是直接在您的用户空间程序中mmap进行相关偏移。/dev/mem这允许您通过查找来访问物理内存布局。

AFAIK,这就是 RaspberryPi 开发人员为使 GPIO 内存映射 I/O 寄存器可用于用户空间程序所做的工作。

于 2013-11-02T03:02:31.493 回答