基于LINUX ARM 触摸屏驱动程序设计 嵌入式系统课程设计.doc

上传人:bao****ty 文档编号:132494082 上传时间:2020-05-16 格式:DOC 页数:28 大小:3.10MB
返回 下载 相关 举报
基于LINUX ARM 触摸屏驱动程序设计 嵌入式系统课程设计.doc_第1页
第1页 / 共28页
基于LINUX ARM 触摸屏驱动程序设计 嵌入式系统课程设计.doc_第2页
第2页 / 共28页
基于LINUX ARM 触摸屏驱动程序设计 嵌入式系统课程设计.doc_第3页
第3页 / 共28页
基于LINUX ARM 触摸屏驱动程序设计 嵌入式系统课程设计.doc_第4页
第4页 / 共28页
基于LINUX ARM 触摸屏驱动程序设计 嵌入式系统课程设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《基于LINUX ARM 触摸屏驱动程序设计 嵌入式系统课程设计.doc》由会员分享,可在线阅读,更多相关《基于LINUX ARM 触摸屏驱动程序设计 嵌入式系统课程设计.doc(28页珍藏版)》请在金锄头文库上搜索。

1、目 录第1章 嵌入式linux触摸屏驱动程序设计11.1 课程设计的目的11.2 课程设计要求1第二章 课程设计平台构建与流程22.1 嵌入式系统开发平台构建22.1.1 cygwin 开发环境22.1.2 Linux 开发环境42.1.3 Embest IDE 开发环境42.2 触摸屏设计流程42.3 课程设计硬件结构与工作原理52.3.1 硬件结构概述52.3.2 触摸屏工作原理6第三章 Bootloader移植与下载83.1 Vivi 源代码的安装83.2 Vivi源代码分析93.3 Vivi 源代码的编译与下载9第四章 Linux内核移植与下载104.1 Linux 内核源代码的安装1

2、14.2 Linux内核源代码分析与移植124.3 Linux内核编译与下载12第五章 触摸屏功能模块程序设计与交叉编译145.1 功能模块驱动程序设计145.2触摸屏功能模块交叉编译19第六章 根文件系统建立与文件系统下载206.1 Cramfs根文件系统分析206.2 文件系统映像文件生成206.3 功能模块运行与调试22第七章 课程设计总结与体会26第1章 嵌入式linux触摸屏驱动程序设计1.1 课程设计的目的在开发基于Linux的嵌入式系统前需要首先建立嵌入式系统的开发环境,并制定嵌入式系统上的Linux内核。本课程设计的主要目的是:1)进一步了解嵌入式开发工具链的构造过程;2)掌握

3、开发主机与嵌入式系统通信的方法;3)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术,提高阅读和修改程序的能力;4)通过完成一个嵌入式linux系统开发的完整过程,使我们了解开发嵌入式linux应用系统的全过程,为今后学习打下基础,积累实际操作的经验。1.2 课程设计要求1)理解基于Linux的嵌入式系统交叉开发环境,对嵌入式系统的开发流程有详细的了解;2)掌握开发工具链的构建方法,能独立进行系统开发操作;3)掌握Linux的常用命令,在linux系统下能熟练的使用这些常用命令;4)熟悉linux内核的知识以及原理,掌握定制Linux内核的方法;5)基于Linux操作系统,以及Em

4、est III实验箱,利用触摸屏返回触点坐标值及动作信。坐标及动作的具体显示:触摸笔动作,触点X坐标值,触点Y坐标值。第二章 课程设计平台构建与流程2.1 嵌入式系统开发平台构建2.1.1 cygwin 开发环境1、运行Cygwin 安装程序setup.exe,然后选择“Install from Local Directory“,选择“下一步”,2、选择Cygwin 的安装目录,注意Cygwin 的安装目录必须位于硬盘NTFS 分区(且尽量不要使用系统C 分区),否则会影响文件属性和权限操作,可能导致错误的结果。选择Unix 文本文件类型进行安装,直接选择“下一步”后,则会把Unix 格式的c

5、ygwin 系统安装到NTFS 格式的D 分区中,且安装目录为D:cygwin。选择安装目录安装软件包存放目录。3、选择Cygwin 安装包所在的目录,可以是光盘也可以是本地硬盘分区。如E:/Cygwin。选择“下一步”继续安装:4、选择软件安装项目。用鼠标单击在安装项目左边“ Default”字样的位置,可以调整该软件项目的安装设置,可能出现的状态有四种:Default - 该项目根据默认状态处理,可能被安装,也可能不安装Install - 安装该项目Reinstall - 重新安装该项目Uninstall - 移除该项目5、对于cygwin 的软件项目,如果完全安装可能需要1GB 以上空间

6、,对于不想安装的项目可以选择状态为Default。通常只选择Linux 开发必要的选项即可,特别地需要全部安装以下项目:Admin 包括启动服务 cygrunsrv 等工具,NFS 启动必备Archive 压缩解压工具集Base 基本的 Linux 工具集Devel 开发工具集,包括 gcc、make 等开发工具Libs 函数库Net 网络工具集Shells 常用 Shell 工具集Utils 包括 bzip2 等实用工具集Cygwin 软件包的选择(注意:由于 cygwin 是Windows 环境下虚拟的Linux 开发环境,一般在ALL 处设置为Install状态,即全部安装。所以要建立一

7、个完整的Linux 开发调试环境,加上存放编译工具和例程的空间,至少需要一个容量在2GB 以上的分区。软件包安装完成后,根据提示信息进行余下的操作,此后可以在PC 机上运行Cygwin 了。6、安装cygwin 安装程序之外的工具软件1)cygwin 环境下的NFS 服务器安装运行 cygwin 开发环境后,拷贝要安装的NFS 服务器软件包nfs-server-2.2.47-2.tar.bz2 到cygwin/tmp 目录下。按以下进行步骤安装:(1)解压安装包 $ cd / 一定要回到根目录下解压安装 NFS 服务器 $ tar xvjf /tmp/nfs-server-2.2.47-2.t

8、ar.bz2(2)配置NFS Server $ /usr/bin/nfs-server-config执行nfs-server-config 命令后会显示安装信息。(3)设置主机访问控制编辑文件/etc/hosts.allow设置任何用户都可以访问nfs 服务时,在文件中增加行:nfsd: ALL (文件中只增加这行即可)也可以特别指定某个 IP 地址的用户访问nfs 服务时,只需增加行如:nfsd: 192.192.192.100 (文件中只增加这行即可)如果特别指定某个子网地址的用户访问 nfs 服务时,只需增加行如:nfsd: 192.192.0.0/255.255.0.0 (文件中只增加

9、这行即可)。编辑文件/etc/hosts.deny如果Cygwin 中没有其他网络服务,则注释本文件中的所有行。(4)设置主机共享目录编辑文件/etc/ exports可以分行输入需要共享的路径及目录,共享一个/home/app 目录增加类似以下的行:/home/app 192.192.192.0/255.255.255.0(rw, no_root_squash)表示在192.192.192 子网上共享/home/app 目录,该目录可读写(rw)。(5)启动NFS 服务用户可以在 Cygwin 下执行以下命令启动服务: $ cygrunsrv -S portmap $ cygrunsrv -

10、S nfsd $ cygrunsrv -S mountd也可以通过打开Windows 控制面板管理工具服务,选择portmap 、mountd 和nfsd 服务并启动,这等效以上三条启动命令。启动之后可以使用以下命令检查服务是否成功运行。 $ /usr/sbin/showmount如果输出报告是某服务启动失败,请直接回到根目录/重新安装NFS server 软件包。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 仿真器组成的开发环境下进行。构建 Em

12、best IDE 进行Linux 调试环境的内容可以参考后面章节。一般需要Embest IDE forARM 软件、Embest online Flash Programmer for ARM、Embest JTAG 仿真器(标准型/增加型/通常型),以及进行调试时所需要的平台初始化文件(命令脚本文件)和烧写时平台配置文件(*.cfg)。这些文件在随开发板提供的光盘里一并提供了。2.2 触摸屏设计流程触摸屏设计流程图: 图2.22.3 课程设计硬件结构与工作原理2.3.1 硬件结构概述Embest EduKit-III教学实验平台是一款功能强大的32位的嵌入式开发板,里面采用了SAMSUNG公

13、司的以ARM7TDMI-S为内核的处理器S3C44B0X,同时可以兼容S3C2410,具有JTAG 调试等功能。板上提供了一些键盘、LED和串口等一些常用的功能模块,并且具有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转换器是循

14、环类型的,其支持片上采样和保持功能,并支持掉电模式。S3C2410开发板的AIN7和AIN5用于连接触摸屏的模拟信号输入。触摸屏接口电路一般由触摸屏,4个外部晶体管和一个外部电压源组成。触摸屏接口的控制和选择信号(nYPON,YMON,nXPON和XMON)连接切换X坐标和Y坐标转换的外部晶体管。模拟输入引脚(AIN7,AIN5)则连接到触摸屏引脚。触摸屏的AIN7连接触摸屏的X+引脚,而AIN5连接触摸屏的Y+引脚的。要控制触摸屏的引脚(X+,X-,Y+,Y-),就要应用4个外部的晶体管,并采用控制的信号nYPON, YMON, nXPON和XMON来控制晶体管的打开与关闭。推荐如下的操作步

15、骤:1)采用外部晶体管连接触摸屏到S3C2410A的接口的电路。2)选择分离的X/Y轴坐标转换模式或者自动(连续的)X/Y轴坐标转换模式来获取触摸点的X/Y坐标。3)设置触摸屏接口为等待中断模式(注意,等待的是INT_TC中断)。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来进行对

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号