ARM11嵌入式系统Linux下液晶显示的实现

2015-05-30 22:04田志强刘军卿周闻云沈滨董自卫
中国新通信 2015年2期
关键词:液晶显示驱动程序应用程序

田志强 刘军卿 周闻云 沈滨 董自卫

【摘要】 通过对ARM11嵌入式系统Linux下程序设计的研究,分析了ARM11嵌入式系统Linux下控制液晶显示的驱动程序和应用程序的实现方法。并以液晶屏NS320240A为例,采用直接读写GPIO的驱动方式,实现了对该液晶屏的显示控制,实际应用表明:用该方法控制液晶显示驱动程序简单、移植性强、程序调试方便,对在Linux下实现其它液晶屏的控制以及驱动程序的编写具有指导意义。

【关键词】 ARM11 Linux 液晶显示 驱动程序 应用程序

随着信息化、智能化和网络化的发展,嵌入式系统近年来得到了飞速的发展,被广泛的应用于状态监测、遥测控制、自动化数据采集和无线监控等诸多领域。

S3C6410是三星公司生产的基于ARM1176JZF-S 核的嵌入式ARM11处理器,主频为533MHz,最高可达667MHz,较ARM7主频提高了十倍,且拥有更丰富的片上资源,处理速度更快,功能更强。

一、Linux下液晶显示的驱动程序设计

1.1液晶显示驱动方式分析

Linux操作系统由Linux内核、Linux Shell和文件结构3部分组成。Linux系统应用程序通过系统调用,如ioctl、open、close等来调用内核提供的各种服务,而内核通过相应的设备驱动来调用和管理各类硬件设备,因此要实现液晶显示的控制首先要编写相应的驱动程序。

液晶屏选择NS320240A集成了SED1330液晶显示控制器,因此可以选用直接读写GPIO寄存器的方法实现LCD驱动。

为了提供驱动程序的可移植性和程序调试的方便,本文采用控制时序在应用层的直接读写GPIO的驱动方式。

1.2液晶屏NS320240A显示驱动程序的实现

NS320240A的驱动程序主要包括以下几个函数:

(1)写GPIO控制寄存器函数

函数定义为S3C6410_Set_Com(long int data),该函数是用于设置与LCD控制器相连GPIO的控制寄存器,核心语句是writel(com, S3C64XX_GPICON)。

writel(com, S3C64XX_GPICON)中,writel是驱动层的写函数,com是写入控制寄存器的数据,通过此数据可以对GPIO口进行输入、输出和高阻三态设置, S3C64XX_GPICON是S3C6410中第I组GPIO口的控制寄存器。

(2)读写GPIO数据寄存器函数

函数定义为S3C6410_Set_dat(unsigned int data),该函数是读写与LCD控制器相连GPIO的数据寄存器,与写控制寄存器一样,写数据的语句也是writel(data, S3C64XX_GPIDATA)。

writel(data, S3C64XX_GPIDATA)中,data是写入数据寄存器的数据,该数据是通过系统调用接口从应用层读进来的, S3C64XX_GPIDATA是S3C6410中第I组GPIO口的数据寄存器。读指令为readl(data, S3C64XX_GPIDATA),从GPIO口读回的数据就放在data中。

完成上述驱动程序后,应用程序通过系统调用iotcl(fd,1,xx)和iotcl(fd,2,xx)就可以实现对GPIO口控制器和数据寄存器的读写,按照NS320240A的控制器SED1330的读写时序进行读写操作就可以实现NS320240A的显示控制。

三、結束语

该文分析了ARM11嵌入式Linux程序设计的方法,在分析总结两种LCD驱动思想的、优缺点的基础上,采用控制时序在应用程序中直接读写GPIO的驱动方式完成了驱动程序设计,并根据NS320240A液晶屏控制其SED1330的读写时序完成了应用程序,最终实现了ARM11嵌入式系统Linux下的液晶显示控制。

实际测试表明该方式使得控制LCD的显示液晶显示驱动程序简单、移植性强、程序调试方便,开发较为灵活,对于嵌入式系统开发中,在Linux操作系统下驱动程序和应用程序的设计具有很大的借鉴意义。

猜你喜欢
液晶显示驱动程序应用程序
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
计算机硬件设备驱动程序分析
122×32 点阵液晶显示汉字原理实验
基于MPC8280的CPU单元与内部总线驱动程序设计
界面致稳型柔性胆甾相液晶显示器件的制备与性能
从马吕斯定律到液晶显示原理
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序
妙用鼠标驱动