资料介绍
嵌入式系统中LCD驱动的实现原理
合三星公司ARM9系列嵌入式处理器S3C2410,讲解如何进行LCD驱动程序模块化编程及如
何将驱动程序静态加载进系统内核。
LCD(液晶显示)模块满足了嵌入式系统日益提高的要求,它可以显示汉字、字符和图形
,同时还具有低压、低功耗、体积小、重量轻和超薄等很多优点。随着嵌入式系统的应
用越来越广泛,功能也越来越强大,对系统中的人机界面的要求也越来越高,在应用需
求的驱使下,许多工作在Linux下的图形界面软件包的开发和移植工作中都涉及到底层L
CD驱动的开发问题。因此在嵌入式系统中开发LCD驱动得以广泛运用。
本文以三星公司ARM9内核芯片S3C2410的LCD接口为基础,介绍了在Linux平台上开发嵌入
式LCD驱动程序的一般方法。
本文硬件采用三星公司的S3C2410芯片的开发板,软件采用Linux
2.4.19平台,编译器为arm-linux-
gcc的交叉编译器,使用640×480分辨率的TFT彩色LCD,通过对其Linux驱动程序进行改写
和调试,成功地实现了对该种屏的驱动和显示。
嵌入式驱动的概念
设备驱动程序是操作系统内核和机器硬件之间的接口,设备驱动程序为应用程序屏蔽了
硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作
普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它主要完成的功能
有:对设备进行初始化和释放;把数据从内核传送到硬件和从硬件读取数据;读取应用
程序传送给设备文件的数据、回送应用程序请求的数据以及检测和处理设备出现的错误
。
Linux将设备分为最基本的两大类:一类是字符设备,另一类是块设备。字符设备和块设
备的主要区别是:在对字符设备发出读/写请求时,实际的硬件I/O一般就紧接着发生了
。字符设备以单个字节为单位进行顺序读写操作,通常不使用缓冲技术;块设备则是以
固定大小的数