linux 触摸屏驱动程序设计_第1页
linux 触摸屏驱动程序设计_第2页
linux 触摸屏驱动程序设计_第3页
linux 触摸屏驱动程序设计_第4页
linux 触摸屏驱动程序设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、物理和电子工程学院嵌入式系统设计过程小作品主题标题Linux触摸屏驱动程序设计物理和电子工程系年份级别08专业电子科学技术学号学生名字浙江旭天2011-12-21目录第一章嵌入式Linux触摸屏驱动程序设计-2-1.1主题设计的目的-2-1.2主题设计要求-2-第二章设计平台的构建和流程-2-2.1构建嵌入式系统开发平台-2-2.1.1 Cygwin开发环境-2-2.1.2 Linux开发环境-5-2.1.3 Embest IDE开发环境-5-2.2触摸屏设计流程-5-2.3主题设计硬件结构和工作原理-6-2.3.1硬件结构概述-6-2.3.2触摸屏工作原理-8-第三章引导加载程序移植和下载-

2、9-3.1安装Vivi源代码-9-3.2 Vivi源代码分析-10-3.3 Vivi源代码编译和下载-11-第四章Linux内核移植和下载-12-4.1安装Linux内核源代码-12-4.2 Linux内核源代码分析和移植-14-4.3编译和下载Linux内核-14-第5章触摸屏功能模块编程和交叉编译-16-5.1功能模块驱动程序设计-16-5.2触摸屏功能模块交叉编译-20-第6章创建根文件系统和下载文件系统-20-6.1 Cramfs根文件系统分析-20-6.2创建文件系统映像文件-21-6.3运行和调试功能模块-22-第七章主题设计总结和经验-26-参考资料:-27-第一章嵌入式Linu

3、x触摸屏驱动程序设计1.1主题设计的目的在开发基于Linux的嵌入式系统之前,必须先构建嵌入式系统的开发环境,并开发嵌入式系统的Linux内核。此主题设计的主要目的是:1)详细了解嵌入式开发工具链的配置过程。2)掌握主机和嵌入式系统通信开发方法。3)通过实际编程和调试,逐步掌握模块化编程方法和调试技术,提高阅读和修改程序的能力。4)完成嵌入式Linux系统开发的整个过程,了解嵌入式Linux应用程序系统开发的整个过程,为以后的学习打下基础,积累实际操作经验。1.2主题设计要求1)了解嵌入式系统交叉开发环境,详细了解嵌入式系统的开发流程,2)确定可独立执行系统开发任务的开发工具链构建方法;3)了

4、解Linux系统上常用的命令,并熟练地在Linux系统上使用这些命令。4)熟悉Linux内核的知识和原理,并掌握如何自定义Linux内核。5)基于使用触摸屏返回触点坐标值和动作信的Linux操作系统和Emest III实验框。坐标和动作的具体显示:触点笔动作、触点x坐标值、触点y坐标值。第二章主题设计平台的构建和过程2.1构建嵌入式系统开发平台2.1.1 Cygwin开发环境1、运行Cygwin安装程序setup.exe,选择“Install from Local Directory”(从本地目录安装),然后选择“next”(下一步)。2、选择Cygwin的安装目录。Cygwin的安装目录必须

5、位于硬盘NTFS分区中,不能使用系统c分区。否则,会影响文件属性和权限操作,并导致无效结果。选择要安装的Unix文本文件类型,然后选择下一步,将Unix格式的Cygwin系统安装在NTFS单元格中,然后将基于NTFS Unix的d分区与D: cygwin一起安装。安装目录选择安装程序包资料档案库目录。3、选择Cygwin安装软件包所在的目录。可以是CD或本地硬盘分区。与E:/Cygwin相同。选择“下一步”继续安装。4、选择软件安装项目。使用鼠标单击安装项目左侧单词“Default”的位置,可以调整该软件项目的安装设置,可能会出现以下四种状态:Default -根据默认状态处理此项目,可以安装

6、,也可以不安装Install -安装此项目Reinstall -重新安装项目Uninstall -移除此项目5、对于Cygwin中的软件项,如果完全安装可能需要1GB以上,则可以为不想安装的项选择Default状态。通常,您只需选择Linux开发所需的选项。特别是,必须安装以下所有项目:Admin 包含用于启动NFS的启动服务cygrunsrv等工具归档文件压缩提取工具集Base 默认Linux工具集开发工具集,包括Devel gcc、make等开发工具Libs 库Net 网络工具集Shells 常用Shells工具集Utils 包含一组实用程序,例如bzip2选择Cygwin程序包(注意:由

7、于Cygwin是Windows环境中的虚拟Linux开发环境,因此通常会将状态从ALL设置为Install,即全部安装)。因此,构建完整的Linux开发调试环境以及存储编译工具和例程的空间至少需要2GB的分区。软件包安装完成后,可以按照提示执行其馀任务,稍后在PC上运行Cygwin。6、安装Cygwin安装程序以外的工具软件1)在cygwin环境中的NFS服务器安装期间,如果Cygwin进入环路,它将复制NFS服务软件包从Nfs-server-2.2.47-2.tar.bz2更改到cygwin/tmp目录。安装:(1)解压缩安装套件您必须返回$ CD/根目录,然后解压缩安装NFS服务器$ ta

8、rxvjf/tmp/NFS-server-2 . 2 . 47-2 . tar . bz2(2) NFS服务器配置$ /usr/bin/nfs-server-configNfs-server-config命令显示安装信息。(3)主机访问控制设置编辑/etc/hosts.allow文件在允许所有用户访问NFS服务时,在文件中添加行。nfsd: ALL(只需在文件中添加行)您还可以通过添加nfsd : 192 . 192 . 192 . 100等行,指定特定IP地址的用户访问NFS服务(只需在文件中添加此行)如果指定了特定子网地址的用户访问NFS服务,则只需添加行,如nfsd : 192 . 19

9、2 . 0 . 0/255 . 255 . 0 . 0(您只需在文件中添加此行)编辑文件etc/hosts.deny如果Cygwin没有其它网络服务,则注释此文件中的每一行。(4)设置主机共享目录编辑/etc/exports文件以共享/home/app目录并共享/home/app目录,从而添加以下行:/home/app 192 . 192 . 192 . 0/255 . 255 . 0(rw,no _ root _ squash)可读写(rw) 192.192表明子网共享/home/app目录。(5)启动NFS服务在Cygwin中,可以运行以下命令启动服务:$ cygrunsrv -S por

10、tmap$ cygrunsrv -S nfsd$ cygrunsrv -S mountd您也可以打开Windows控制面板管理工具服务,选择portmap、mountd和nfsd服务,然后启动它们。这三个启动命令是相同的。启动后,可以使用以下命令验证服务是否成功运行:$ /usr/sbin/showmount如果输出服务启动失败,请直接返回根目录,然后重新安装NFS服务器软件包。2.1.2 Linux开发环境开发嵌入式Linux系统最简单的方法是构建标准Linux开发环境。在Linux开发期间,可以极大地处理编译和调试任务。同样,EduKit2410的Linux开发也可以在标准Linux环环境

11、中进行,例如选择Red Hat等优秀系统。由于时间关系,尚未提供标准Linux环境的安装和使用指南。2.1.3 Embest IDE开发环境Linux中的调试通常更复杂,有很多调试环境可供选择。但是,由于Linux系统内核包含世界各地技术工程师的维护和测试,因此应用程序开发需要更少的调试,通常需要更简单的调试。必须为Linux编译启动代码、内核和文件系统,然后在硬件系统上压缩相应的映像文件。这种Linux开发需要可以在由Embest IDE for ARM和Embest JTAG emulator组成的开发环境中实现。有关实施Embest IDE以构建Linux测试环境的信息,请参阅以下部分:

12、一般情况下,Embest IDE forARM软件、emest online flash programmer for arm、Embest JTAG emulator(标准/附加/普通)、调试所需的平台初始化文件(命令脚本文件)和刻录平台配置文件cfg)。这些文档随开发主板附带的光盘一起提供。2.2触摸屏设计过程触摸屏设计流程图:图2.22.3主题设计硬件结构和工作原理2.3.1硬件结构概述Embest EduKit-III培训实验平台是使用SAMSUNG公司基于ARM7TDMI-S的处理器S3C44B0X的32位嵌入式开发主板,与S3C2410兼容,并具有JTAG调试等功能。该主板提供了一

13、些常用功能模块,如IDE硬件接口、CF存储卡接口、以太网接口和SD卡接口,便于在32位ARM内置领域中对用户进行实验。Embest EduKit-III教育实验平台的主要功能模块包括:图2.3.1 ARM开发板功能模块S3C2410开发主板具有用于8通道模拟输入的10位CMOS模数转换器(ADC)。将输入的模拟信号转换为10位二进制数字代码。在2.5MHz的A/D转换器时钟上,最大转换速度为500KSPS。A/D转换器是环路类型,支持片上采样和保持功能,并支持断电模式。S3C2410初始版本的AIN7和AIN5用于连接触摸屏的模拟信号输入。触摸屏接口电路通常由4个外部晶体管和1个外部电压源构成

14、的触摸屏组成。触摸屏界面的控制和选择信号(nYPON、YMON、nXPON和XMON)连接切换x坐标和y坐标切换的外部晶体管。模拟输入针脚(AIN7,AIN5)连接到触摸屏针脚。触摸屏的AIN7连接触摸屏的x针,AIN5连接触摸屏的y针。要控制触摸屏的针脚(x、x、y、y-),请应用4个外部晶体管,并使用控制晶体管开关的信号nYPON、YMON、nXPON和XMON。建议使用以下步骤:(1)使用外部晶体管连接触摸屏到S3C2410A的接口的电路。2)选择分离X/Y轴坐标转换模式或自动(连续)X/Y轴坐标转换模式,以获取触摸点的X/Y坐标。3)将触摸屏界面设置为等待中断模式(等待INT_TC中断

15、)。4)如果发生中断(INT_TC),则相应的AD变换(分离的X/Y轴坐标变换或自动(连续)X/Y轴坐标变换)将立即激活。5)获取触摸点的X/Y轴坐标值后,返回待机中断模式(步骤3)。注意:1)外部电压源为3.3V。2)外部晶体管的内部阻抗必须小于5 ohm。2.3.2触摸屏工作原理触摸屏控制接口由外部晶体管控制逻辑和具有中断生成逻辑的ADC接口逻辑组成。1)一般转换模式一般转换模式(AUTO_PST=0,XY_PST=0)是一般用途的ADC转换。此模式可以通过ADCCON和ADCTSC设置初始化AD转换。然后读取ADCDAT0(ADC数据寄存器0)中的XP数据域(常规ADC转换)值,以完成转换。2)分离的X/Y轴座标转换模式:X轴

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论