本科毕设论文—基于arm+linux的lcd驱动设计说明书.docVIP

  • 0
  • 0
  • 约4.39万字
  • 约 75页
  • 2016-12-04 发布于辽宁
  • 举报

本科毕设论文—基于arm+linux的lcd驱动设计说明书.doc

学号: 毕业设计说明书 题 目 基于ARM+Linux的LCD驱动设计 英文并列题目 LCD driver design on ARM + Linux 广东石油化工学院本科毕业设计(论文)诚信承诺保证书 本人郑重承诺:《基于ARM+Linux的LCD驱动设计》毕业设计(论文)的内容真实、可靠,是本人在 指导教师的指导下,独立进行研究所完成。毕业设计(论文)中引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处,如果存在弄虚作假、抄袭、剽窃的情况,本人愿承担全部责任。 学生签名: 年 月 日 毕 业 设 计(论 文)任 务 书 计算机科学与技术 系 计算机科学与技术 专业 计算机 班 学生 一、毕业设计(论文)课题 基于ARM+Linux的LCD驱动设计 二、毕业设计(论文)工作自 2012 年 3 月 11 日起至 2012 年 6 月 15 日止 三、毕业设计(论文)进行地点 广东石油化工学院 四、毕业设计(论文)的内容要求 1、基于ARM+Linux的LCD驱动设计是在ARM9平台上移植Linux系统,然后基于Linux系统内核进行LCD驱动实现的设计,最终在LCD液晶显示器上显示图片。该设计可以分为三个部分,即LCD驱动层实现、图片解码实现和LCD应用程序实现。其中在LCD驱动层的实现中,必须对ARM9 s3c2410的硬件结构进行分析,虽然在Linux内核中已经对该芯片提供的支持,但要设置芯片的相应输出引脚为LCD引脚;其次要对LCD液晶显示器进行分析,参考该LCD的手册进行时序的分析,并进行相应的硬件编程;最后也是最为重要的就是要了解在Linux内核中LCD驱动是如何实现的,当然可以参考内核中其他类型LCD的实现,对在Linux内核中是如何进行LCD驱动实现的层次化结构必须要了解清楚。在图片解码中,对于要显示到LCD液晶显示器上的图片,首先必须对图片进行解码分析,然后得到图片的像素值,将这些像素值存储到LCD的缓存中,然后LCD控制器就会将这些像素值打印到LCD液晶显示器上,从而实现了对图片的显示,其中对于图片解码,用到了图片的解码库。在LCD应用程序实现上,在LCD驱动程序实现了并创建了设备节点时,在应用程序中就可以直接open该设备节点,得到LCD驱动层实现的buffer后,从而可以相应的write和read操作,实现将图片显示到LCD液晶显示器上。 2、基于ARM+Linux的LCD驱动设计采用了ARM+Linux的实现平台,体现了高端性能上的LCD驱动的实现。在LCD驱动层的实现中,本设计采用三个步骤进行;步骤一是设置fb_info结构体,fb_info结构体中的成员元素包含了对要实现的LCD的硬件信息和对LCD操作的函数,所以直接根据LCD硬件信息进行设置fb_info结构体成员元素,然后实现对LCD操作的函数即可。步骤二是要设置ARM s3c2410平台的硬件,设置芯片的相应输出引脚为LCD输入引脚,如何根据LCD手册进行ARM LCD寄存器的设置,设置好LCD的时序。步骤三是在上面两个步骤都实现了之后,就可以向内核注册LCD驱动,同时向Linux内核上层提交设置的fb_info结构体对象。这样就实现了对LCD驱动的设计。在图片解码实现中,本设计只实现对JPG格式图片的显示,对于输入的JPG格式的图片,由于对于JPG格式的图片的数据格式排列不了解,所以首先将通过图片库将该格式的图片转换成PMB格式的图片,而对于PMB格式的图片可以直接知道数据格式的排列信息,首先开始的56个字节为信息头和数据头,然后接下来的才是位图信息,所以就可以直接读取位图信息进行显示到LCD上,实现对LCD图片的动态显示。在LCD应用程序实现上,关键的是要获得LCD驱动层申请的buffer空间,然后通过mmap进行映射到用户空间进行直接的操作,通过往该buffer中写入位图数据后,LCD控制器就会根据时序的设置将该位图打印到LCD液晶显示器上。 2、基于ARM+Linux的LCD

文档评论(0)

1亿VIP精品文档

相关文档