arm9的gps定位程序在linux26下的移植----大学毕业(论文)设计.doc
《arm9的gps定位程序在linux26下的移植----大学毕业(论文)设计.doc》由会员分享,可在线阅读,更多相关《arm9的gps定位程序在linux26下的移植----大学毕业(论文)设计.doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 目录摘要IABSTRACTII引言11绪论21.1儿童定位系统背景及应用现状21.2所需做的工作22硬件平台系统简介42.1博创平台简介42.2嵌入式Linux简介42.3GPS模块简介52.3.1GPS实现原理52.3.2GPS接口73开发工具软件与系统软件部分83.1儿童定位系统程序框图83.2开发工具软件的安装83.3开发环境配置83.4超级终端93.5FlashFXP103.6程序分析104移植过程134.1Linux2.6内核驱动与2.4的区别134.2平台升级操作步骤154.3.1烧写 u-boot164.3.2烧写内核、文件系统及应用程序184.3.3烧写文件系统194.3.4
2、烧写应用程序195实验验证216结论24致谢25参考文献26摘要随着生活节奏的日益加快,人们把越来越多的精力投入到了工作之中,对于子女尤其是儿童的照顾就显得力不从心了。现代通信技术的发展,已经可以使这样的设计实现利用GPS定位。GPS具有高效的定位功能,定位频率高,误差小。嵌入式设备功能强大、可靠性高,开源的Linux操作系统又为其添加了新的生命力。 该GPS程序之前在博创2.4开发平台上运行正常,但是考虑到2.6版本比2.4版本有更多的功能函数等优势,在参考了大量资料后,将博创2.4平台升级为2.6版本。但是由于版本不同的问题,程序在2.6平台上运行不正常,于是翻看了大量资料,对其进行了移植
3、工作。关键词: 儿童定位;GPS;Linux;移植ABSTRACTAs the pace of life quickening, people put more energy into work, especially childrens care for children is not. The development of modern communication technology, have been able to make such a design - using GPS. GPS positioning function is high, the location of hi
4、gh frequency and small error. Embedded devices has strong function, high reliability, the open-source Linux operating system and to add a new vitality.The GPS program before running on 2.4 development platform, but given the 2.6 version has more features than version 2.4 function advantages, in refe
5、rence to a large amount of information, will have a 2.4 platform upgrade to version 2.6. But version due to the different problems, programs run on 2.6 platform is not normal, then flicking through a large amount of data, on the porting effort.Key words: childrens positioning; GPS; Linux; transplant
6、I引言随着生活节奏的加快,人们把越来越多的精力投入到了工作之中,对于子女尤其是儿童的照顾就显得力不从心了。很多儿童的意外就是在无人看管的情况下发生的。因此,一种能够监控儿童活动情况并能够实时和家长互通的系统的开发就显得很有必要了。当父母离开时,该系统可将儿童的位置信息传送到父母携带的接收设备中,使家长对儿童的具体情况能及时掌握,从而达到避免意外事件的发生的目的。目前,国内外厂商已经研发出该类产品,市场前景广阔。因此,儿童定位系统设计所研究的问题是具有实际的意义的。本次毕业设计ARM9的GPS定位程序在Linux2.6下的移植,对博创开发平台进行了升级,并针对版本不同对端口及内核进行了分析,对该
7、程序进行了移植。本论文共五章,第一章为绪论,主要概述儿童定位的现状及发展前景;第二章开发平台简介,主要介绍博创开发平台;第三章为开发工具软件的安装与配置,介绍其软件环境;第四章为开发平台升级,说明了2.4版本与2.6版本在驱动上的区别;第五章为GPS,主要说明GPS的实现原理和接口。 ARM9的GPS定位程序在Linux2.6下的移植241绪论1.1 儿童定位系统背景及应用现状随着生活节奏的日益加快,人们把越来越多的精力投入到了工作之中,对于子女尤其是儿童的照顾就显得力不从心了。儿童的很多意外都是在无人看管的情况下发生的。因此,一种能够实时监护儿童的日常活动,并可以及时和家长通信的系统的设计就
8、显得很有必要了。当父母离开时,该系统可将儿童的位置、活动范围、声音等信息传送到父母携带的接收设备中,使家长对儿童的具体情况能及时掌握,从而达到避免意外事件的发生的目的。目前,国内外厂商已经研发出该类产品,市场前景广阔。因此,儿童定位系统设计所研究的问题是具有实际的意义的。现代通信技术的发展,已经可以使这样的设计实现利用GPS定位、GSM通信、QT、嵌入式Linux平台进行系统的设计。GPS(Global Positioning System全球定位系统)是在海、陆、空 进行全方位实时三维导航与定位的新一代卫星导航与定位系统。GPS具有高效的定位功能,定位频率高,误差小等优点。GPS由三个独立的
9、部分组成【1】:空间部分:21颗工作卫星,3 颗备用卫星。地面支撑系统:1个主控站,3个注入站,5个监测站。用户设备部分:接收GPS 卫星发射信号,以获得必要的导航和定位信息,经数据处理,完成导航和定位工作。GPS 接收机硬件一般由主机、天线和电源组成。Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来讲,Linux这
10、个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统【1】。1.2 所需做的工作基于Linux操作系统的应用开发环境是由开发板和pc机所构成。目标硬件开发板用于运行操作系统的内核编译、应用程序的开发和调试则需要通过pc机来完成。实现交叉编译。因为Linux版本问题以及开发平台的不同,需要自己摸索和修改。首先需要查找有关于系统升级的资料1,了解升级方法和步骤,搭建平台,为程序移植做准备。所谓 Linux 移植就是把Linux 操作系统针对具体的目标平台做必要改写之后,安装到该目标平台使其正确的运行起来。这个概
11、念目前在嵌入式开发领域讲的比较多。其基本内容是:获取某一版本的Linux 内核源码,根据我们的具体目标平台对这源码进行必要的改写(主要是修改体系结构相关部分),然后添加一些外设的驱动,打造一款适合于我们目标平台(可以是嵌入式便携设备也可以是其它体系结构的PC 机)的新操作系统,对该系统进行针对我们目标平台的交叉编译,生成一个内核映象文件,最后通过一些手段把该映象文件烧写(安装)到我们目标平台中。而通常对Linux 源码的改写工作难度较大,它要求你不仅对Linux内核结构要非常熟悉,还要求你对目标平台的硬件结构要非常熟悉。同时还要求你对相关版本的汇编语言较熟悉,因为与体系结构相关的部分源码往往是
12、用汇编写的。所以这部分工作一般由目标平台提供商来完成。比如说针对目前嵌入式系统中最流行的ARM 平台,它的这部分工作就是由英国ARM 公司的工程师完成的,我们所要做的就是从其网站上下载相关版本Linux 内核的补丁(Patch)。把它打到我们的Linux 内核上,再进行交叉编译就行。升级成功后根据移植步骤,首先了解GPS接口原理和各个管教的函数定义及其参数设置,包括串口连接的方式。其次,还要更深入的了解其内核设置,对内核驱动有个详细的了解,学习两个版本的区别。最后将程序成功调试出来。2硬件平台系统简介2.1 博创平台简介本次毕设所使用的硬件系统为博创UP-CUP S2410/P270嵌入式开发
13、平台如图2-1,这是一款经典的嵌入式开发平台,拥有许多有用的功能模块可供我们进行系统开发。由北京博创兴业科技有限公司开发的UP-NetARM3000、UP-NetARM2410 系列以及UP-TECHPXA270 系列实验仪器。UP-NetARM3000 的CPU为ARM7TDMI内核的三星S3C44B0X01 芯片,由于没有MMU(内存管理单元)只能运行uClinux,UP-NetARM2410 系列的CPU为ARM920T内核的三星S3c2410 芯片。UP-TECHPXA270 系列实验仪器为Intel Xscale系列的PXA270 CPU。其中USB主口可选择的模块有蓝牙模块和摄像头
14、模块;168pin扩展插槽的可选模块有GPS+GPRS模块,FPGA模块和CAN节点模块。本课题所使用的模块就是GPS+GPRS模块。图2-1 博创平台2.2嵌入式Linux简介 Linux 正在嵌入式开发领域稳步发展。Linux 使用 GPL,所有对特定开发板、PDA、掌上机、可携带设备等使用嵌入式Linux 感兴趣的人都可以从因特网上免费下载其内核和应用程序,并开始移植和开发。许多 Linux 改良品种迎合了嵌入式市场,它们包括 RTLinux(实时 Linux)、uclinu(用于非 MMU 设备的 Linux)、Montavista Linux(用于 ARM、MIPS、PPC 的 Li
15、nux 分发版)、ARM-Linux(ARM 上的 Linux)和其它 Linux 系统。嵌入式Linux 的发展比较迅速。NEC、索尼已经在销售个人视频录像机等基于Linux 的消费类电子产品,摩托罗拉则计划在其未来的大多数手机上使用Linux,IBM 也制定了在手持机上运行Linux 的计划。数年来,“Linux 标准库”组织一直在从事对在服务器上运行的Linux 进行标准化的工作,现在,嵌入式计算领域也开始了这一工作。嵌入式Linux 标准吸引了“Linux 标准库”以及Unix 组织中有益的元素。2.3GPS模块简介GPS(Global Positioning System全球定位系统
16、)GPS 的主要优点包括:(1)全球,全天候工作:能为用户提供连续,实时的三维位置,三维速度和精密时间。不受天气的影响。(2)定位精度高:单机定位精度优于10 米,采用差分定位,精度可达厘米级和毫米级。(3)功能多,应用广:目前已广泛的应用于大地测量、工程测量、航空摄影测量、运载工具导航和管制、地壳运动监测、工程变形监测、资源勘察、地球动力学等学科领域。GPS 由三个独立的部分组成:空间部分:21 颗工作卫星,3 颗备用卫星。地面支撑系统:1 个主控站,3 个注入站,5 个监测站。用户设备部分:接收GPS 卫星发射信号,以获得必要的导航和定位信息,经数据处理,完成导航和定位工作。GPS 接收机
17、硬件一般由主机、天线和电源组成。2.3.1GPS实现原理 GPS 定位的基本原理是根据高速运动的卫星瞬间位置作为已知的起算数据,采用空间距离后方交会的方法,确定待测点的位置。如图所示,假设t 时刻在地面待测点上安置GPS 接收机,可以测定GPS 信号到达接收机的时间t,再加上接收机所接收到的卫星星历等其它数据可以确定以下四个方程式,如图2-1、 图2-1 GPS实现原理方程上述四个方程式中待测点坐标x、y、z 和Vto 为未知参数,其中di=cti (i=1、2、3、4)。di (i=1、2、3、4) 分别为卫星1、卫星2、卫星3、卫星4 到接收机之间的距离。ti(i=1、2、3、4) 分别为
18、卫星1、卫星2、卫星3、卫星4 的信号到达接收机所经历的时间。c 为GPS 信号的传播速度(即光速)。四个方程式中各个参数意义如下:x、y、z 为待测点坐标的空间直角坐标。xi 、yi 、zi (i=1、2、3、4) 分别为卫星1、卫星2、卫星3、卫星4 在t 时刻的空间直角坐标,可由卫星导航电文求得。Vt i (i=1、2、3、4) 分别为卫星1、卫星2、卫星3、卫星4 的卫星钟的钟差,由卫星星历提供。Vto 为接收机的钟差。由以上四个方程即可解算出待测点的坐标x、y、z 和接收机的钟差Vto 。目前GPS 系统提供的定位精度是优于10 米,而为得到更高的定位精度,通常采用差分GPS技术:将
19、一台GPS 接收机安置在基准站上进行观测。根据基准站已知精密坐标,计算出基准站到卫星的距离改正数,并由基准站实时将这一数据发送出去。用户接收机在进行GPS观测的同时,也接收到基准站发出的改正数,并对其定位结果进行改正,从而提高定位精度。如图2-2图2-2 GPS2.3.2GPS接口接口特性如下:RS-232 输出,可输入RS232 或者具有RS-232 极性的TTL 电平。可选的波特率为:300、600、1200、2400、4800、9600、19200。串口输出协议:输出NEMA0183 格式的ASCII 码语句,输出:GPALM,GPGGA,GPGLL,GPGSA,GPGSV,GPRMC,
20、GPVTG(NMEA 标准语句);PGRMB,PGRME,PGRMF,PGRMM,PGRMT,PGRMV(GARMIN定义的语句)。还可将串口设置为输出包括GPS 载波相位数据的二进制数据。输入:初始位置、时间、秒脉冲状态、差分模式、NMEA 输出间隔等设置信息。在缺省的状态下,GPS 模块输出数据的波特率为4800,输出信息包括:GPRMC、GPGGA、GPGSA、GPGSV、PGRME 等,每秒钟定时输出。3开发工具软件与系统软件部分3.1 儿童定位系统程序框图整个儿童定位系统程序框图如图3-1所示,本次毕业设计主要研究GPS模块。GSM通信用户显示信息QT界面提供信息提供信息GPS信息通
21、信控制图3-1 儿童定位系统程序框图3.2 开发工具软件的安装参考linux 虚拟机使用说明里的Samba服务器的的配置。参照执行安装环境脚本命令:./install安装脚本程序将自动建立/arm2410cl 目录,并将所有开发软件包安装到/arm2410cl 目录下,同时自动配置编译环境,建立合适的符号连接。注意: 安装完成后看一下主编译器Armv4l-unknown-linux-gcc 是否在/opt/host/armv4l/bin/,如果不是这个路径,请使用vi 修改/root/.bash_profile 文件中PATH变量为PATH=$PATH:$HOME/bin:/opt/host/
22、armv4l/bin/ , 存盘后执行: source/root/.bash_profile,则以后armv4l-unknown-linux-gcc 会自动搜索到,可以在终端上输入armv,然后按tab 键,会自动显示armv4l-unknown-linux-3.3 开发环境配置配置网络,包括配置IP 地址、NFS 服务、防火墙。网络配置主要是要安装好以太网卡,对于一般常见的RTL8139 网卡,REDHAT9.0 可以自动识别并自动安装好,完全不要用户参与,因此建议使用该网卡。然后配置宿主机IP 为192.168.0.121。双击设备eth0 的蓝色区域,进入以太网设置界面,对于REDHAT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- arm9 gps 定位 程序 linux26 移植 大学毕业 论文 设计
限制150内