LCD及FrameBuffer驱动程序探究及实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LCD及FrameBuffer驱动程序探究及实现

LCD及FrameBuffer驱动程序探究及实现   摘要:Framebuffer驱动程序在Linux显示器上面具有抽象的特点。当前科学技术的持续性发展,使得很多MCU-LCD嵌入式的设备在支持上要应用更好的UI界面来实现其良好的视觉效果呈现。但由于MCU-LCD常使用在早期的单片机内,若仍旧使用Framebuffer架构将会对内核产生较差的影响。通过分析Framebuffer自身的结构能更好的比对出RGB以及MCU的不足之处,然后设计对应的linux帧缓冲设备驱动程序,满足内核中Framebuffer对MCU-LCD的支持 关键词:LCD;FrameBuffer驱动;研究与实现 中图分类号:TP311.11 文献标识码:A 文章编号:1007-9416(2017)03-0063-02 嵌入式的LCD屏幕中能支持的?纱笥布?接口,其中一种接口是较为常见的RGB接口,另外一种是MCU接口。MCU-LCD早期是针对单片机领域使用而得名的,所以在使用的时候就多在低端的手机中获得较大的应用,特点是整体价格低廉。MCU――LCSD接口标准的术语是interfac80,所以在文档中就要使用I80代替MCU-LCD屏 1 linux下FramBuffer 1.1 FrameBuffer机制研究 FrameBuffer可以被翻译为帧缓冲,这是一种基础类的图形设备,经常出现在linux2.2的版本内核中,它作为一种驱动型的程序接口而存在的,主要是其他程序的函数数据模式。这类接口多显示为抽象或者帧缓冲区,作为用户使用该应用程序不需要对底层的驱动程序有着细致的了解,可以将其看成是内存的一种映像反映,无需做深入了解,更无需关注其物理显存的位置或者换页的机制等细节内容,只有将所有的映射引入到空间内,然后再开展读和写的操作,并且所有的操作细则都能在屏幕上直观的呈现出来 1.2 FramBuffer设备驱动研究 FramBuffer主要是实现不同的功能平台控制图,且在控制的时候要让两者能更好的绑定在一起。FramBuffer的优点是能支持不同类型的硬件,并能支持新设备开发过程中产生的巨大工作量。它们的关系如图1示 FrameBUffer的驱动主要是是现在重点文件接口处,要求所有的层次机构都要讲数据寄存在I/O内存层 1.2.1 文件层次接口层 使用帧缓冲设备的时候能实现不同的数据处理,处理中设备的不同操作流程也有所不同。比如进行内存映射的时候,文件的开关以及底层文件的函数都可以作为基础内容而封存,这样就能满足对文件的内存控制,并能合理的调用接触口的读写函数,这些函数的提取能满足其内核的使用需求 1.2.2 驱动层次接口层 受到现实设备的特殊性影响,驱动层接口处保护的内容有底层函数、记录设备状态数据。linux最为缓冲的帧设备,主要是在驱动层的出口处进行结构定义,通过定义现实当前的显示卡的具体工作情况,从而反应出内核的情况。但由于嵌入式系统整体操作比较简单,能够涉及到的结构成员很少 2 驱动程序设计 2.1 驱动程序初始化函数设计 函数的设计中要先创建FramBuffer设备的结构体然后使用函数获取对应的LCD屏来匹配初始化的数据源,其中初始化的内容主要是对其固定的信息、可变的信息和显示的模式开展初始化处理。然后可以在s3c2410fbs info结构中映射出有关s3c2410fbs ops的指针,并在内核中申请连续空间,将这部分空间看成是缓存的处理阶段,把显示器的地址直接添加到s3c2410fbs infl中的DMA传输地质中,这样就能直接显示出显示器的物理地址 2.2 位图显示API设计 BMP主要的文件构成形式是:文件头、位图信息、颜色信息和图形数据这些内容。BMP文件头主要是显示BMP的文件类型,所有的文件其起始位置和大小等信息都可以在BMP文件类型中可查;BMP的位图信息主要的工作内容是通过说明图片的大小和性质,对图片的信息有简单的了解,颜色表直接表明图片的颜色,其实图片颜色的表项较多,任何一个表项都有着独有的类型结构,可以定义其中的一种颜色。位图数据图与传统数据库有着异曲同工之处,即能收录每个像素值,然后所有的记录顺序是按照从左到右的顺序排列,所有的扫描行排列则是按照从下到上的顺序排列 2.3 位位图函数设计 载入的位图,主要的目的是为进行正确的图位分化,先要从信息头角度考虑问题,从图中我们能熟悉要分配多少给内存的位图,这样就能将位图全部加载进来,然后为位图创设调色板 (1)读取位图文件头结构信息。检测不同的文件类型是不是“BM”,如若不是,就说明一点即文件不是位图文件或者位图的文件已经遭到了破坏。若位图标示为“BM”那么文件大小的读取以及位

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档