2
我在我的驱动程序中使用devm_kzalloc(.., .., GFP_KERNEL)
分配缓冲区,然后我将此缓冲区注册为帧缓冲区驱动程序,以便它显示为/dev/fb0
下的文件。然后我可以打开这个文件并写入它。当我这样做时,一切正常,我的数据到达驱动程序内存缓冲区。内核驱动程序和用户空间的mmap
但是,如果我然后mmap
它在用户进程中是这样的:mmap(NULL, size, PROT_WRITE, MAP_SHARED, fd, 0)
,使用相同的文件fd并尝试写入返回的内存空间,没有任何写入驱动程序内存。
我在这里忘了什么吗?
http://man7.org/linux/man-pages/man2/mmap.2.html - 仔细阅读MAP_SHARED段落,那里可能有线索。 – Mat