欢迎来到天天文库
浏览记录
ID:40749642
大小:149.00 KB
页数:9页
时间:2019-08-07
《Linux-2.6.32.2内核在mini2440上的移植(六)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Linux-2.6.32.2内核在mini2440上的移植(六)---添加LCD背光驱动移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS5.5,1G内存。2,集成开发环境:ElipseIDE3,编译编译环境:arm-linux-gccv4.4.3,arm-none-linux-gnueabi-gccv4.5.1。4,开发板:mini2440,2Mnorflash,128Mnandflash。5,u-boot版本:u-boot-2009.086,linux版本:lin
2、ux-2.6.32.27,参考文章:嵌入式linux应用开发完全手册,韦东山,编著。Mini2440之Linux移植开发实战指南到目前为止,我们一直都在命令行下移植,查看结果,LCD屏幕上似乎总是如伸手不见五指的黑夜,神秘而又无可奈何,从这里开始,我们就要打开这道神秘之门了。【1】LCD背光控制原理在mini2440/micro2440开发板中,LCD背光是通过CPU的LCD_PWR引脚来控制的,从原理图中可以看出,它对应于GPG4,如图当LCD_PWR输出为高电平“1”时,将打开背光;当输出为低电平“0”时,将关闭
3、背光(注意:这里只是打开和关闭背光,而并没有背光亮度的调节作用)。【2】在内核中添加背光驱动程序现在,我们需要增加一个简单的背光驱动,以便能够通过软件便可简单的控制背光的开关。我们要达到的目的是:在命令终端通过向背光设备发送偶数比如“0”便可关闭背光,发送奇数比如“1”便可打开背光,这样使用起来就方便多了,而不需要专门的应用程序控制它,正如在用户手册中所描述的方法(2.5.10控制LCD的背光):提示:LCD背光设备文件:/dev/backlight在命令行种输入:echo0>/dev/backlight可以关闭LC
4、D背光。在命令行种输入:echo1>/dev/backlight可以打开LCD背光。为了实现这点,我们在linux-2.6.32.2/drivers/video/backlight目录增加一个mini2440_backlight.c文件,内容如下:#include#include#include#include#include#include5、>#include#include#include#include#include#include#include#include#include#include#include#de6、fineDEVICE_NAME"backlight"//设备名称#defineDEVICE_MINOR5//次设备号,这里我们将设备注册为misc设备,这种设备的主设备号都为10externvoids3c2410_gpio_setpin(unsignedintpin,unsignedintto);externvoids3c2410_gpio_cfgpin(unsignedintpin,unsignedintfunction);staticintmini2440_backlight_ioctl(structinode*7、inode,structfile*file,unsignedintcmd,unsignedlongarg){switch(cmd){case0://当接收的命令为0时,就将GPG4引脚设为低电平,关闭背光s3c2410_gpio_setpin(S3C2410_GPG(4),0);printk(DEVICE_NAME"turnoff!");return0;case1://当接收的命令为1时,就将GPG4引脚设为高电平,开启背光s3c2410_gpio_setpin(S3C2410_GPG(4),1);printk(8、DEVICE_NAME"turnon!");return0;default:return-EINVAL;}}staticstructfile_operationsdev_fops={.owner=THIS_MODULE,.ioctl=mini2440_backlight_ioctl,//这里只使用控制IO口的方式来控制背光};statics
5、>#include#include#include#include#include#include#include#include#include#include#include#de
6、fineDEVICE_NAME"backlight"//设备名称#defineDEVICE_MINOR5//次设备号,这里我们将设备注册为misc设备,这种设备的主设备号都为10externvoids3c2410_gpio_setpin(unsignedintpin,unsignedintto);externvoids3c2410_gpio_cfgpin(unsignedintpin,unsignedintfunction);staticintmini2440_backlight_ioctl(structinode*
7、inode,structfile*file,unsignedintcmd,unsignedlongarg){switch(cmd){case0://当接收的命令为0时,就将GPG4引脚设为低电平,关闭背光s3c2410_gpio_setpin(S3C2410_GPG(4),0);printk(DEVICE_NAME"turnoff!");return0;case1://当接收的命令为1时,就将GPG4引脚设为高电平,开启背光s3c2410_gpio_setpin(S3C2410_GPG(4),1);printk(
8、DEVICE_NAME"turnon!");return0;default:return-EINVAL;}}staticstructfile_operationsdev_fops={.owner=THIS_MODULE,.ioctl=mini2440_backlight_ioctl,//这里只使用控制IO口的方式来控制背光};statics
此文档下载收益归作者所有