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

问几个frame buffer的基础问题 我对LINUX一窍不通,问些蠢问题误怪

    来源: 互联网  发布时间:2016-02-21

    本文导语:  各位高人,求助~~~ 我是做底层驱动的,主要用的都是VXWORKS的操作系统下的东西。 以前的做的设备LCD驱动都是简单的黑白屏幕,做的驱动也非常简单,在SPI总线上一挂,然后内存分一块,修改后调用UI程序对屏幕刷新...

各位高人,求助~~~

我是做底层驱动的,主要用的都是VXWORKS的操作系统下的东西。
以前的做的设备LCD驱动都是简单的黑白屏幕,做的驱动也非常简单,在SPI总线上一挂,然后内存分一块,修改后调用UI程序对屏幕刷新,具体刷新的过程是通过串行口对LCD驱动芯片做一系列的命令或写数据。

最近准备做一个高级点的产品了,要用到彩色屏幕。从原理上来说我觉得和原先黑白的LCD就是一个相素需要的BIT数增加了而已,比如原先1BIT只有黑白,现在假设RGB分别是256级那么就是3个BYTE表示一个相素。那么最后通过SPI对LCD驱动芯片的操作整个流程也和原来的类似。


但是现在BOSS说了希望能够支持一个叫frame buffer的东西,因为LINUX中以这个为基础有很多好用的API程序直接移植过去对做GUI或者应用程序都很有帮助,据说甚至能做播放视频??

但是我对LINUX没了解,实在是不明白 frame buffer到底是个啥东西??怎么样才算支持了这个frame buffer??

从几小时的GOOGLE结果,我大概理解成这样: frame buffer在linux中是把显存映射到用户空间的一段内存后直接对这段内存进行操作而达到写屏的目的,是一种接口。这样上层可以忽略底层的硬件细节而直接使用frame buffer提供的接口做应用。不知道我这么理解对不对??

有人说FRAME BUFFER就像提供了一张画布,直接把屏幕摆在这里,之后怎么画要看应用。那么~我原来做黑白屏幕的LCD驱动,在内存中也自己MALLOC一块做相素,然后需要改变时通过底层代码进行刷新屏幕,这样算不算类似的概念了??不过我总觉得所有的LCD都是这么做的,那FRAME BUFFER到底有什么独到的地方?底层需要实现什么?

那么这是在linux下,如果在别的操作系统,比如vxworks,那么怎么实现一个frame buffer?或者类似frame buffer的接口,也让上层直接通过这些接口进行研发??或者这么说,FRAME BUFFER究竟实现了什么呢?我需要在底层完成一些什么东西才能达到支持了frame buffer的目的?

另外就是请问linux参考代码哪里有呢?就frame buffer这一块,哪位可以给我一些参考??我问这么没头没脑的问题一个很大原因是我根本没看过frame buffer的源代码~请问在哪能找到??如果可以的话能否直接附件传上来或者EMAIL给我?

我EMAIL:

heavenscloud2005@gmail.com




|
frame   buffer实际上就是“中间层”,在它上面就是GUI,比如MINIGNUI或者QT/E这样的GUI直接利用它所给的接品向硬件LCD上画图,而frame   buffer向下就直接操作LCD控制器等硬件,它向上层提供的就是/dev/fb之类的设备文件,向下层就直接操作LCD硬件,它是LINUX下的一个东东,源码就在kernel/drivers/vedio目录下面,你可以向你认识的朋友做LINUX的人要一份特定CPU开发板下的FRAME BUFFER源码。
如果你想在其它操作系统下实现一个FRAME BUFFER,就要麻烦一些,比如你想在VXWORKS下实现FRAMEBUFFER,还必须实现/dev/fb设备文件节点,以及模拟LINUX下设备驱动例程的调用及编写过程,让上层的GUI引擎对这一层透明
FRAME BUFFER对上层的接口无非就是open接口,close接口,mmap接口,write接口,iotcl接口,它在内存中模拟一块虚拟屏幕(用矩阵方式以线性空间来模拟屏幕上每个点),GUI要在LCD画图无非就是在特定的内存空间写入该像素点的像素质,原理就这样简单。

LZ还是要先弄清楚自己的需求。。。。。。

    
 
 

您可能感兴趣的文章:

  • 简单问题:从Frame1调用Frame2,怎么让Frame2中的Button1不可用?
  • 菜鸟问题-从一个frame调用另一个frame,如何关闭或者隐藏第一个frame?
  • 菜鸟问题-如何从一个frame调用另一个frame?
  • Jbuilder5中关于Frame、Dialog大小的问题。
  • 最近频频发生 段错误,gdb最后显示Previous frame inner to this frame (corrupt stack?)的问题.
  • 一个简单的问题:如果关闭一个窗体(Frame)
  • 请教一个关于Java Application中Frame的模态非模态的问题。
  • 紧急问题,马上需要,关于awt.Frame
  • 问一个比较简单的问题 frame 的 setSize()放在那里比较合适
  • 请教: 研究过linux frame buffer驱动的问题
  • 问一个比较简单的问题 请不要见笑 frame 的 setVisible()放在那里比较合适?
  • 新手问题,请问如何在Frame上显示一个TextField???????????????????
  • 急问高手关于Frame的问题
  • 在框架(frame)页面中的表单提交问题(急)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 大虾帮我看看有关frame buffer的源程序?
  • 请问各位达人frame buffer怎么配置呢?
  • java命名空间java.awt类frame的类成员方法: frame定义及介绍
  • Frame frame = new Frame();为什么在linux中通不过?
  • java命名空间java.awt类frame.accessibleawtframe的类成员方法: frame.accessibleawtframe定义及介绍
  • 如何把一个字符串从一个frame传到另一个frame?
  • java命名空间javax.swing类jrootpane的类成员方法: frame定义及介绍
  • 如何控制Frame中的组件大小,当用鼠标拖动改变frame大小时
  • java命名空间javax.swing.plaf.basic类basicinternalframeui的类成员方法: frame定义及介绍
  • 请问AWT中Frame可以嵌套吗?Dialog呢?Frame和Dialog呢?
  • java命名空间javax.swing.plaf.basic类basicdesktopiconui的类成员方法: frame定义及介绍
  • 请问怎样在两个Frame之间通信
  • java命名空间javax.swing.plaf.basic类basicinternalframetitlepane的类成员方法: frame定义及介绍
  • frame如何显示List? 50送上!
  • java命名空间javax.accessibility类accessiblerole的类成员方法: frame定义及介绍
  • 改变frame系统菜单的图标???(解决就给分)
  • java命名空间javax.swing.text.html类html.tag的类成员方法: frame定义及介绍
  • 框架(frame)之间数据对象的访问?
  • java命名空间javax.accessibility类accessiblerole的类成员方法: internal_frame定义及介绍
  • 在JSP文件中如何用程序指定,其它Frame载入文件???
  • java命名空间java.awt类frame的类成员方法: getstate定义及介绍
  • 如果用JavaScript关闭一个带多Frame的IE窗口?
  • java命名空间javax.swing类jlayeredpane的类成员方法: frame_content_layer定义及介绍
  • 怎样在jb的Frame中加入两个并列的Panel,立即给分?


  • 站内导航:


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

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

    浙ICP备11055608号-3