从用户空间向设备写入数据

时间:2013-07-02 15:32:16

标签: c linux x86 linux-device-driver device-driver

假设我的处理器连接了内存映射设备,从用户空间写入该设备的最快方法是什么?令我困惑的是,通常处理器采用回写缓存,因此当您更改某些内存位置时,它不必反映在物理内存中(在这种情况下映射到设备)。一些设备驱动程序大师可以解释这是如何工作的吗?

我有兴趣为此目的使用用户级设备驱动程序。我希望写入速度很快,因为在计算机上运行的应用程序不需要等待太多,只需几个周期。

1 个答案:

答案 0 :(得分:0)

最快的方法如下:

  1. 使用mmap将设备地址空间映射到用户空间。然后,用户空间的读取和写入将直接发送到设备。
  2. 设置mmu以防止缓存。您还可以使用缓存刷新指令刷新缓存。