当前位置:  技术问答>linux和unix

***对FRAMEBUFFER中用到的MMAP的严重质疑****

    来源: 互联网  发布时间:2016-01-08

    本文导语:  在映射FB显存到用户空间时,采用了: mem = mmap(0,srceen_size, PROT_READ | PROT_WRITE, MAP_SHARED,fb, 0);  一般的FB驱动都是调用FBMEM.C的默认mmap实现的也即: io_remap_page_range(vma_start,off,vma->vm_end - vma->vm_start, vma->vm_page_prot); ...

在映射FB显存到用户空间时,采用了:
mem = mmap(0,srceen_size, PROT_READ | PROT_WRITE, MAP_SHARED,fb, 0); 

一般的FB驱动都是调用FBMEM.C的默认mmap实现的也即:
io_remap_page_range(vma_start,off,vma->vm_end - vma->vm_start, vma->vm_page_prot);

可是这个函数是用来给3G以上的系统空间建立映射表的,用户空间是无法访问这段地址的,这时对mem的读写都会产生异常啊。

实在不理解,为什么这样居然也可以让LCD工作,请高手解释一下,谢谢!

|
io_remap_page_range()(实际上也即remap_page_range())并非专给3G以上的系统空间建立映射表的,而只是把物理地址映射到虚拟地址而已。

所以你所担心的问题不会发生。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于framebuffer的问题
  • linux下如何设置framebuffer的alpha值
  • 測試framebuffer出錯
  • 想用Framebuffer功能,请问需要打开内核的哪些编译选项?
  • 哪里有关于framebuffer编程的资料啊??
  • 请问framebuffer显示模式的配置文件放在那里的
  • 如何查看framebuffer是否已经开启?
  • framebuffer驱动 三星6410 调整分辨率
  • 请问 启动X server时间内在哪里手动加入一段 写framebuffer界面的程序?
  • 有基于framebuffer的media player吗?
  • 关于不能打开framebuffer支持
  • 关于framebuffer与console
  • docker中文入门学习手册 iis7站长之家
  • framebuffer相关的问题
  • 针对framebuffer编程问题
  • 128*64黑白lcd实现framebuffer驱动,如何在上面显示点阵字体,有没有现成的开源代码可以参考.
  • 关于FrameBuffer的问题
  • Intel i810显卡如何支持FrameBuffer?
  • 如何在framebuffer中设置320 240的分辨率
  • framebuffer和输出问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3