我正在飞思卡尔MPC8306上开发LED驱动器。在驱动程序代码中,我在GPIO寄存器上执行ioremap,并在重新映射的GPIO寄存器地址上调用remap_pfn_range,然后在用户空间中调用mmap将GPIO寄存器映射到用户空间。我之前没有这样做,我想知道这种方法是否有效。有人可以帮帮我吗?在此先感谢。
答案 0 :(得分:1)
您应该使用/dev/mem
接口来访问GPIO寄存器。通过另一个嵌入式板上的GPIO控制LED的良好参考是here。
答案 1 :(得分:0)
更简单的方法可能只是mmap
直接在用户空间程序中/dev/mem
的相关偏移量。这允许您通过搜索来访问物理内存布局。
AFAIK,这是RaspberryPi开发人员为使用户空间程序可用的GPIO内存映射I / O寄存器所做的工作。