我正在为运行Linux2.6.37的ARM设备开发。我正在尝试尽快切换IO引脚。我制作了一个小内核模块和一个用户空间应用程序。我尝试了两件事:使用ioremap直接从内核空间操作GPIO控制寄存器。mmap()GPIO控制寄存器,无需缓存并从用户空间使用它们。这两种方法都有效,但第二种方法比第一种方法慢3倍左右(在示波器上观察到)。我想我禁用了所有缓存机制。当然,我想获得两个世界中最好的:用户空间的灵active和易于开发以及内核空间的速度。有人知道为什么mmap()可能比ioremap()慢吗?这是我的代码:内核模块代码staticintti81xx_usmap_mmap(struc