毕业设计(论文)-基于ARM的嵌入式触摸屏系统设计(43页).doc





《毕业设计(论文)-基于ARM的嵌入式触摸屏系统设计(43页).doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于ARM的嵌入式触摸屏系统设计(43页).doc(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-毕业设计(论文)-基于ARM的嵌入式触摸屏系统设计-第 XLIII 页三亚学院毕业论文(设计)论文(设计)题目:基于ARM的嵌入式触摸屏系统设计学 院:理工学院专 业(方 向):测控技术与仪器年 级、班 级:测控1201学 生 学 号: 1学 生 姓 名:指 导 老 师:2016年3月30日 目录1. 要求:.1 1.2设计目的.11.3设计意义.11.4设计内容.11.5主要任务.12. 正文. 2.0 linux的基本指令2.0.1关于vim编辑器的基本使用 2.1液晶屏的介绍以及工作原理.2.1.1液晶屏的介绍2.1.2液晶屏的工作原理 2.2触摸屏的工作原理 2.3设计总体方案 2.
2、4设计所需工具 2.5平台搭建详解 2.6Uboot介绍与移植 2.7内核介绍与移植 2.8创建根文件系统3. 程序 3.1驱动乘虚的算法以及数据结构的介绍 3.2驱动程序的编写4.心得4.1课程设计心得体会5.参考文献 章一 要求1.1设计目的(1)基于LINUX Ubuntu系统以及s3c2440开发板,能够利用触摸屏正确返回触点坐标以及动作信息(2)坐标及动作信息的具体显示包括:触摸笔动作,触点X坐标值,触点Y坐标值2.1设计意义(1) 熟悉linux基本命令(2)熟悉ARM嵌入式系统开发平台(3)掌握linux下uboot及内核的移植(4)会创建跟文件系统(3)掌握linux下驱动程序
3、的结构以及编写(4)掌握嵌入式系统下交叉环境编译,下载及调试3.1设计内容(1) 内核及u-boot的正确移植(2) 跟文件系统的移植与使用(3) 驱动程序的编写与编译及烧写3.2主要任务(1) 熟悉实验流程(2) 了解驱动源程序(3) 了解程序的数据结构 章二 正文0. s3c2440开发板介绍:CPU:处理器:S3C2440A-40 400MHz主频,ARM 920T内核LCD:Hitachi 4.3寸触摸屏LCD闪存:256M NAND FLASH,8bit宽度内存:64M SDRAM,133MHz,32bit宽度(两片组成)电源:5-12V宽电压输入,LT1765高效DC/DC降压,标
4、配5V电源网络:100Mbps低功耗嵌入式专用以太网网络芯片DM9000A,接口为准RJ45插座, 集成网络变压器,安全可靠串口:3路串口,两路带握手信号,可接调制解调器或者GPRS。COM3位3线制和IRDA共用CPU的UART2信号,COM3和IRDA只能同时使用其中一个IRDA:用户可以自行安装,标准配置没有焊接。和COM3共用摄像头接口:预留20pin插座,方便用户连接数字摄像头音频接口:WM8976芯片,带3.5寸麦克风、耳机接口USB HOST:1个USB HOST接口,USB FULL SPEED。可外接HUB扩展USB DEVICE:1路USB DEVICE接口,USB FUL
5、L SPEEDMICROSD卡接口:支持MICROSD/TF存储卡,最高可达32G总线扩展:通过96针高可靠欧式插座提供外部扩展,32*3排列,集成总线和其他可能用到的信号。外部总线通过高速双向缓冲器隔离1. linux的基本指令打开终端使用以下指令,由于linux指令太多,这里我只说明关于ARM嵌入式触摸屏系统的相关指令(1)ls -al:用与查看某个目录的内容和文件,以及目录和文件的权限,并且连同隐藏文件一起显示(2)chmod xxx(代表数字0-7):用于修改文件或目录的权限,参数有:-R:修改连同目录以及目录下所有文件的权限xxx:代表r,x,w对应的数字每个数字是07范围(3) c
6、d:用于前往某个目录(4) pwd:用于查看当前所在的目录位置(5) mkdir:用于创建目录,参数有-m:建立目录的同时设置目录权限-p:若路径中某些目录不存在,则系统自动创建那些指定的目录(6) rm:用于删除文件或者目录,参数有-f:不进行交互模式,直接删除目录或者文件-r:用于删除目录,不加则只删除文件(7) cp:用于目录和文件的复制,参数有-a:连同目录或者文件的权限一起复制-r:用于复制目录及该目录里面的内容(8) mv:用于文件或者目录的移动(9) find:用于查找文件或者特定的内容,以及目录,常用的参数有-name:指定字符串作为查找文件或目录的表达式(10) tar:用于
7、解压或者压缩文件,常用参数有-j:用于解压格式后缀为.bz2的压缩文件-z:用于解压格式后缀为.gz的压缩文件-x:用于打包或解压缩的功能-v:显示解压缩的过程-f:厚街目标文件-c:用于打包文件(11) su -:切换为root用户2. 关于vim编辑器的基本使用Vim是linux自带的功能强大的文本编辑器,可以用来编辑c/c+源程序有自动提示错误的功能,如果有错误则颜色和平时不一样,下面只介绍vim的基本使用首先在终端输入vim进入vim编辑器,在vim编辑器下有三种工作模式命令模式,插入模式,底行模式。插入模式常用的参数有:i:从光标所在位置前面开始插入内容,光标后的内容随新增内容想后移
8、动o:从光标所指下一行进行插dd:删除光标所指该行u:撤消上一次操作yy:复制光标所在行命令模式:进入命令模式就可以进行光标的移动,字符,字或行的删除,移动复制某字段底行模式常用的参数有:wq 用于保存并且退出vim文本编辑器:q!用于强制退出vim编辑器3. 关于s3c2440嵌入式开发板环境工程的工具及搭建的介绍与使用3.1.本人在Linux编程使用的是ubuntu自带的vim文本编辑器。具体功能如上所述3.2make工具的介绍与使用:1.介绍:在linux下所使用的make是GNU的工程管理器,make工具是用来创建一个属于自己的工程,整个工程的编译命令只需要一个make命令解决,解决的
9、有头文件预处理,源文件的编译(自动编译为目标文件,二进制文件,汇编文件等),多个目标的链接等具有强大的自动功能,该make命令依赖于一个Makefile文件(名字必须是makefile或Makefile),make是一个命令工具,它用于解释makefile文件中的指令或规则,在mkaefile文件中描述了整个工程所有文件的编译顺序,编译规则。由于Makefile文件内的规则太多这里至介绍大概格式:目标: 生成目标所需的文件生成这个目标所需文件的命令(1)目标:是指最终生成的文件,如机器可运行的二进制文件,汇编文件,目标文件等,当编写完makefile文件后在该目录执行make命令就可以在当前目
10、录看到我们所需要的目标文件,后面的:号一定要有。(2)生成目标所需的文件:如,目标是一个二进制文件那么生成目标所需的文件就是多个或一个头文件h以及目标文件o等(3)生成这个目标和生成这些目标所需文件的所需命令:注意!开头必须是一个tab键,在输入gcc等命令2.make的使用make有许多关于内核构架的参数但是学到现在也基本没用到,直接执行make即可。但是执行make编译的时候必须要指定需要编译的makefile文件所在目录3.3gcc和g+工具介绍:gcc是用来编译C语言文件,g+是用来编译C+语言文件。由于我在这个实验中并没有用到gcc/g+工具,所以略过3.4交叉编译器arm-linu
11、x-gcc工具:该工具的作用是在一种计算机环境中运行的编译程序,能够编译出在另外一种环境下运行的代码,这个过程就叫做交叉编译,也就是说在一个平台(PC机为ubuntu)上生成另一个平台(S3C2440开发板)上的可执行代码使用:arm-linux-gcc有很多参数在本次实验中也没有用到,但是在ubuntu上编译的代码要在s3c2440开发板上运行,就必须要在ubuntu上安装arm-linux-gcc工具,安装过程大致为:(1) 在网上下载arm-linux-gcc的工具包(tar)(2) 下载完后随意放到一个目录然后在该目录终端输入:tar -j(-j或者-z由安装包后缀决定)xvf arm
12、-linux-gcctarbz2(3) 进入该目录看到有个bin目录该目录里面就是关于arm-linux-gcc工具的二进制文件(4) 有两种方式使用该交叉编译工具;1将bin文件里面所需的指令放到根目录的bin文件里。2这种方式更为保险:首先修改PATH环境变量vi /etc/profile然后在最后一行添加arm-linux-gcc/bin目录即可我的目录设置如下:(5) 保存退出后要立即使环境变量生效,而不用重启电脑,可以在终端输入:source /etc/profile3.5oflash烧写工具的介绍与使用1介绍:oflash是用于linux在线用JTAG烧写u-boot,内核,文件系
13、统等到s3c2440开发板指定的地址2. 使用oflash:由于oflash有两种版本一个是用于windows下的(用的ubuntu所以不介绍),另一个是用于ubuntu中的,买的开发板有自带的两个版本,无需下载,所以我用的是第二个。将目录里面的oflash复制到ubuntu下根目录的/bin目录里面(因为oflash是一个bin文件),然后将JTAG连接到开发板上,在终端下输入oflash就可以进入烧写界面如图然后选择对应的烧写模式与烧写到对应的NOR FLASH或NAND FLASH中的指定地址3烧写完毕后需要重启开发板,在重启之前要拔掉开发板上的JTAG接口,因为如果不拔掉会把对应的电平
14、拉低。3.6ubuntu下minicom的介绍与使用1. 介绍:minicom工具是用与PC机远程控制开发板的超级终端,可以在ubuntu上对开发板进行控制,线路连接方式为:将开发板上的USB-COM1接口用USB线链接到电脑上就可以了,驱动一般开发板会自带。2. Minicom的使用:(1) 安装minicom:在终端下输入:aptget install minicom(2) 安装完毕后进行minicom的配置,如下步骤:首先在终端输入minicom -s出现如下界面:然后选择serival port setup出现如下再打开一个终端输入dmesg用于查看cpu进程,找到/dev/ttyx的
15、关键字查看x是几,然后在这个设置界面按下a就可以设置minicom所使用的对应串口之后按下F将hardware flow control关闭再按下回车保存。然后进入Modem and dialing之后将A,B,K全部设置为空,在按下回车保存,在选择save setup df1进行保存。Minicom的配置结束之后在minicom界面就可以看到开发板运行情况,文件系统,内核,u-boot等并且控制开发板关于minicom的界面操作:只绍基本操作参数,先按下crtl+a后才能使用下面的按键C :清屏 R :接收文件S :发送文件Q :退出和复位X :退出没有复位3.7串口下载工具dnw的介绍与使
16、用1. 介绍:串口下载工具dnw和JTAG一样是只是用于进行串口的下载(但是前提必须是在有u-boot的基础上)2. 使用:dnw工具也是在购买开发板时自带的,有两个版本一个是用于ubuntu的叫dnw串口工具,一个是用于windows的叫tftp串口下载工具,这一个不做介绍,只介绍dnw。将开发板自带的dnw复制到ubuntu的根目录中/bin目录里面,和oflash安装一样,然后打开另一个终端打开minicom并连接开发板的usb口和usb-com1口,打开开发板,在u-boot菜单界面如图,该界面就是u-boot的菜单界面,可以通过该界面用dnw进行内核,u-boot,文件系统的烧写等功
17、能按下相应的字母后会显示等待下载,然后再切换到dnw工具,在终端输入dnw xxxx(xxxx是需要烧写的文件)按下回车就可以在开发板minicom界面看到对开发板烧写的过程。需要注意的是在使用dnw命令时后面的文件一定要指定该文件所在的目录,并且必须是绝对路径。3.8 nfs的下载,配置与使用3.8.1 首先下载ubuntu的远程登录服务器工具(ssh),如果没有该服务就不能用nfs远程工具,安装过程为首先更新源代码:apt-get upadte,等待更新完毕后输入:apt-get install openssh-server,安装完毕后查看ssh是否启动成功,此时分两种情况,(1).在终端
18、输入:ps -e| grep ssh,如果出现sshd关键字说明已经开启 (2).如果没有则在终端输入service ssh start进行启动 3.8.2 下载nfs工具,nfs是用网络进行远程登录系统的工具,在嵌入式中的作用主要是:(1).用pc机的ubuntu系统内的某个相关目录挂载到开发板的/mnt目录下 (2).让开发板从pc机里定制的s3c2440内核来启动开发板 (3).用网口进行开发板u-boot,内核,文件系统等的烧写由于本机自带nfs工具所以这里不进行安装的说明,下面进行nfs配置说明,用vim工具打开/etc/exports文件,在最下面加入一行/home/paddy/j
19、z2440/kaifa/nfs_root/LCD *(rw,sync,no_root_squash) 说明:LCD目录是我自己新建的目录,随意放哪都可以,但路径要写对,*代表允许所有IP访问。设置好后保存退出,此时nfs配置文件设置完毕,设置完毕后并没有生效,必须要在终端输入:exportfs -r来进行重启nfs服务4. 烧写裸板(u-boot,内核,跟文件系统)的过程介绍4.1u-boot的介绍与烧写过程:4.1.1U-BOOT的介绍在嵌入式系统当中,从开发板开机硬件的初始化到启动操作系统内核,这些都是由bootloader程序完成的。Bootloader是嵌入式系统当中最先运行的程序,用
20、于完成对硬件的初始化,就和计算机当中的BOIS一样的效果,并建立内存的映像工作,为内核准备好软硬件运行的环境,最终bootloader把操作系统内核映像加载到S3C2440的SDRAM中,并将系统的控制权交给它,所以bootloader的最终目的就是将内核成功加载到SDRAM中并且成功的在SDRAM中运行。Bootloader主要是针对硬件设计的所以对于不同架构的开发板有其对应的bootloader。Bootloader都是使用C语言进行编写,并且有两种操作模式分别是(1) 启动加载模式:就是通过PC机将内核烧写到我们SC32440开发板中的NAND FLASH 中,然后通过这个FLASH将系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 ARM 嵌入式 触摸屏 系统 设计 43

限制150内