




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Linux-26322内核在mini2440上的移植(六)添加LCD背光驱动移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS5.5,1G内存。2,集成开发环境:ElipseIDE编译编译环境:arm-linux-gccv4.4.3,arm-none-linux-gnueabi-gccv4.5.1。开发板:mini2440,2Mnorflash,128Mnandflash。u-boot版本:u-boot-2009.08linux版本:linux-参考文章:嵌入式linux应用开发完全手册,韦东山,编著。Mini2440之Linu
2、x移植开发实战指南到目前为止,我们一直都在命令行下移植,查看结果,LCD屏幕上似乎总是如伸手不见五指的黑夜,神秘而又无可奈何,从这里开始,我们就要打开这道神秘之门了。【1】LCD背光控制原理在mini2440/micro2440开发板中,LCD背光是通过CPU的LCD_PWR引脚来控制的,从原理图中可以看出,它对应于GPG4,如图LENDLIWULKL4VXIMEhll甘FRAhflEL7甘hflhI4USBENM3LCDVF1WLCDCTKLLENDGPCOVCLKGPC1VLINEiHSYNC/GPC2VFRAME:VSYNC.GPC3VM:VDEN,GPC斗L仁D_LPCOEGPC5LC
3、DLPCREV/GPC6LCD_PT/dev/backlight可以关闭LCD背光。在命令行种输入:echo1/dev/backlight可以打开LCD背光。为了实现这点,我们在linux-/drivers/video/backlight目录增加一个mini2440_backlight.c文件,内容如下:#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#de
4、fineDEVICE_NAMEbacklight/设备名称#defineDEVICE_MINOR5次设备号,这里我们将设备注册为misc设备,这种设备的主设备号都为10externvoids3c2410_gpio_setpin(unsignedintpin,unsignedintto);externvoids3c2410_gpio_cfgpin(unsignedintpin,unsignedintfunction);staticintmini2440_backlight_ioctl(structinode*inode,structfile*file,unsignedintcmd,unsigne
5、dlongarg)switch(cmd)case0:当接收的命令为0时,就将GPG4引脚设为低电平,关闭背光s3c2410_gpio_setpin(S3C2410_GPG(4),0);printk(DEVICE_NAMEturnoff!n);return0;case1:当接收的命令为1时,就将GPG4引脚设为高电平,开启背光s3c2410_gpio_setpin(S3C2410_GPG(4),1);printk(DEVICE_NAMEturnon!n);return0;default:return-EINVAL;staticstructfile_operationsdev_fops=.owne
6、r=THIS_MODULE,.ioctl=mini2440_backlight_ioctl,/这里只使用控制IO口的方式来控制背光;staticstructmiscdevicemisc=.minor=DEVICE_MINOR,.name=DEVICE_NAME,.fops=&dev_fops,;staticint_initdev_init(void)intret;ret=misc_register(&misc);/注册成misc设备if(retGraphicssupport-*Backlight&LCDdevicesupport-就可以找到该配置选项,如图在这里,如果没有被选中,按空格选中我们
7、刚刚加入的mini2440配置项,然后退出时保存内核配置菜单,在命令行执行:makeulmage将生成的arch/arm/boot/ulmage复制到/nfsboot目录下,然后启动开发板,可以在启动时看到LCD屏显示的企鹅图像,这说明我们已经点亮了背光。【5】编写测试程序linux-test/codetest/backlight_test.c,代码如下:#include#include#include#includeintmain(intargc,char*argv)intturn;intfd;/检测命令后面带的参数if(argc=1|argc2)printf(Usage:backlight
8、_teston|off!n);exit(1);/打开背光设备fd=open(/dev/backlight,O_RDWR);if(fd0)printf(OpenBacklightDeviceFaild!n);exit(1);/判断输入的参数if(strcmp(argv1,on)=0)turn=1;elseif(strcmp(argv1,off)=0)turn=0;elseprintf(Usage:backlight_teston|off!n);exit(1);进行IO控制ioctl(fd,turn);/关闭背光设备close(fd);return0;然后保存退出,之后在主机终端交叉编译rootl
9、ocalhostcodetest#arm-linux-gcc-obacklight_testbacklight_test.c将其复制到nfsboot目录下以便在开发板挂载该目录后能够执行rootlocalhostcodetest#cpbacklight_test/nfsboot/nfs【6】挂载nfs文件系统在目标板的串口终端中执行rootmini2440/mnt#mkdirnfsrootmini2440/mnt#lsdataetcjffs2nfstempyaffsrootmini2440/#mount-onolock-tnfs28:/nfsboot/nfs/mnt/nfs/注
10、意要加-onolock参数,否则挂载不上。rootmini2440/#cdmnt/nfsrootmini2440nfs#lsbacklight_test7】运行测试程序rootmini2440nfs#./backlight_testrootmini2440nfs#./backlight_test-helpUsage:backlight_teston|off!rootmini2440nfs#rootmini2440nfs#./backlight_testoffbacklightturnoff!/观察LCD屏,看到背光灯灭了rootmini2440nfs#./backlight_testonbacklightturnon!/观察LCD屏,看到背光灯亮了rootmini24
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国太湖蟹数据监测研究报告
- 2025至2030年中国中号吸通数据监测研究报告
- 山西省太原市多校2024-2025学年高一下学期开学考试化学试题
- Unit 1 My day 单元试卷含答案含听力原文无听力音频
- 2025年军队文职人员招聘之军队文职公共科目综合检测试卷B卷含答案
- 2024河北省中考英语真题【原卷版】
- 重大事件公关管理合同(2篇)
- 金子抵押合同(2篇)
- (一诊)2025年兰州市高三诊断考试历史试卷(含答案)
- 电子商务平台交易额及客户评价统计表
- 小学语文新课标基础型学习任务群解读及教学建议
- 铝合金型材检测原始记录
- 07施工试验计划
- 数字逻辑习题以及习题答案课件
- 骶尾部藏毛窦的诊治课件
- 门诊病历书写模板全
- 幼儿教师职业道德完整全套教学课件
- G基站审批一件事流程图
- 《零基础玩转小红书:吃透爆款逻辑涨粉、变现不再难》
- 围术期下肢深静脉血栓预防的术中护理
- GB/T 12996-2012电动轮椅车
评论
0/150
提交评论