Linux 液晶屏驱动开发 随着高性能嵌入式处理器的普及和硬件成本的不断降低,尤其是ARM 系列处理器的推出,嵌入式系统的功能越来越强
单色LCD 也因为色彩单调,存储信息小,处理速度慢而不能符合人们的需求
在多媒体应用的推动下,彩色LCD 越来越多地应用到了嵌入式系统中 如新一代手机和掌上电脑多采用TFT 显示器件,该显示器件支持彩色图形界面和视频媒体播放
Linux 作为开放源代码的操作系统也在市场中占据了一席之地
由于Linux 成本低廉,源代码开放,因此成为国内外厂商极力发展的操作系统
在应用需求的推动下,Linux 下也出现了许多图形界面软件包,如MiniGUI、Trolletech 公司的Embedded QT 等,其图形界面及开发工具与 Windows CE 不相上下
在图形软件包的开发和移植工作中都牵涉到底层 LCD 的驱动问题
笔者有幸参与了Linux 操作系统下LCD 部分的开发,其主要功能是点亮液晶屏,将在摄像头上采集的BMP 图片在液晶屏上显示并将 BMP 格式压缩成JPEG 格式,使得存储量减少
因此笔者就在开发过程中遇到的问题一一阐述
背景知识 在切入正题之前,先来了解在做驱动过程中需要预先知道的知识
1 硬件平台 MC9328MX1(以下简称 MX1)是Motorola 公司基于ARM 核心的第一款 MCU,主要面向高端嵌入式应用
内部采用ARM920T 内核,并集成了SDRAM/Flash、LCD,USB、蓝牙
多媒体闪存卡(MMC/SD、Memory Stick)和CMOS 摄像头等控制器
LCD 控制器的功能是产生显示驱动信号,驱动LCD 显示器
用户只需要通过读写一系列的寄存器,完成配制和显示控制
MX1 中的LCD 控制器可支持单色/彩色LCD 显示器
支持彩色TFT 时,可提供 4/8/12/16 位颜色模式,其中16 位颜