当前位置: 技术问答>linux和unix
关于mmap的问题
来源: 互联网 发布时间:2016-09-22
本文导语: 现在做pci的驱动,直接ioread速度比较慢,希望可以用mmap来实现快速访问, >>>>>现在的问题是mmap只能挂载到/dev/mem下吗,如果我创建一个节点/dev/test, 该如何将pci内存和用户空间同时共享到这里呢,希望大虾们给予解...
现在做pci的驱动,直接ioread速度比较慢,希望可以用mmap来实现快速访问,
>>>>>现在的问题是mmap只能挂载到/dev/mem下吗,如果我创建一个节点/dev/test,
该如何将pci内存和用户空间同时共享到这里呢,希望大虾们给予解释,有没有核心的代码,谢谢!!!
>>>>>现在的问题是mmap只能挂载到/dev/mem下吗,如果我创建一个节点/dev/test,
该如何将pci内存和用户空间同时共享到这里呢,希望大虾们给予解释,有没有核心的代码,谢谢!!!
|
个人的理解,不知道对与不对,mmap主要用为了实现用户空间与内核空间快速传送数据的思想的前提下实现的,它主要是实现用户空间与内核空间共享内存单元,没有说一定要挂载到某个特定的子目录下,楼主都搞PCI了。应用也看过Framebuffer吧,里面就是应用mmap来实现用户空与内核空间共享内存,再在驱动程序中把这段内存映射为LCD的显存,这样在用户空间就可以通过写这段内存而可以直接在LCD屏上进行显示。
请注意一点:mmap没有挂载目录之分,(其实就没有挂载)同时也注意区分用户mmap与内核mmap,用户mmap只需调用,而内核mmap需要自己实现。
请注意一点:mmap没有挂载目录之分,(其实就没有挂载)同时也注意区分用户mmap与内核mmap,用户mmap只需调用,而内核mmap需要自己实现。