arm9的gps定位程序在linux26下的移植.docx
《arm9的gps定位程序在linux26下的移植.docx》由会员分享,可在线阅读,更多相关《arm9的gps定位程序在linux26下的移植.docx(27页珍藏版)》请在冰豆网上搜索。
arm9的gps定位程序在linux26下的移植
目录
摘 要I
ABSTRACTII
引言1
1 绪论2
1.1 儿童定位系统背景及应用现状2
1.2所需做的工作2
2 硬件平台系统简介4
2.1 博创平台简介4
2.2 嵌入式Linux简介4
2.3 GPS模块简介5
2.3.1 GPS实现原理5
2.3.2 GPS接口7
3 开发工具软件与系统软件部分8
3.1 儿童定位系统程序框图8
3.2开发工具软件的安装8
3.3开发环境配置8
3.4超级终端9
3.5 FlashFXP10
3.6 程序分析10
4 移植过程13
4.1Linux2.6内核驱动与2.4的区别13
4.2平台升级操作步骤15
4.3.1 烧写u-boot16
4.3.2 烧写内核、文件系统及应用程序18
4.3.3 烧写文件系统19
4.3.4 烧写应用程序19
5 实验验证21
6 结论24
致谢25
参考文献26
摘要
随着生活节奏的日益加快,人们把越来越多的精力投入到了工作之中,对于子女尤其是儿童的照顾就显得力不从心了。
现代通信技术的发展,已经可以使这样的设计实现——利用GPS定位。
GPS具有高效的定位功能,定位频率高,误差小。
嵌入式设备功能强大、可靠性高,开源的Linux操作系统又为其添加了新的生命力。
该GPS程序之前在博创2.4开发平台上运行正常,但是考虑到2.6版本比2.4版本有更多的功能函数等优势,在参考了大量资料后,将博创2.4平台升级为2.6版本。
但是由于版本不同的问题,程序在2.6平台上运行不正常,于是翻看了大量资料,对其进行了移植工作。
关键词:
儿童定位; GPS; Linux; 移植
ABSTRACT
Asthepaceoflifequickening,peopleputmoreenergyintowork,especiallychildren'scareforchildrenisnot.Thedevelopmentofmoderncommunicationtechnology,havebeenabletomakesuchadesign-usingGPS.GPSpositioningfunctionishigh,thelocationofhighfrequencyandsmallerror.Embeddeddeviceshasstrongfunction,highreliability,theopen-sourceLinuxoperatingsystemandtoaddanewvitality.
TheGPSprogrambeforerunningon2.4developmentplatform,butgiventhe2.6versionhasmorefeaturesthanversion2.4functionadvantages,inreferencetoalargeamountofinformation,willhavea2.4platformupgradetoversion2.6.Butversionduetothedifferentproblems,programsrunon2.6platformisnotnormal,thenflickingthroughalargeamountofdata,ontheportingeffort.
Keywords:
children'spositioning;GPS;Linux;transplant
引言
随着生活节奏的加快,人们把越来越多的精力投入到了工作之中,对于子女尤其是儿童的照顾就显得力不从心了。
很多儿童的意外就是在无人看管的情况下发生的。
因此,一种能够监控儿童活动情况并能够实时和家长互通的系统的开发就显得很有必要了。
当父母离开时,该系统可将儿童的位置信息传送到父母携带的接收设备中,使家长对儿童的具体情况能及时掌握,从而达到避免意外事件的发生的目的。
目前,国内外厂商已经研发出该类产品,市场前景广阔。
因此,儿童定位系统设计所研究的问题是具有实际的意义的。
本次毕业设计—ARM9的GPS定位程序在Linux2.6下的移植,对博创开发平台进行了升级,并针对版本不同对端口及内核进行了分析,对该程序进行了移植。
本论文共五章,第一章为绪论,主要概述儿童定位的现状及发展前景;第二章开发平台简介,主要介绍博创开发平台;第三章为开发工具软件的安装与配置,介绍其软件环境;第四章为开发平台升级,说明了2.4版本与2.6版本在驱动上的区别;第五章为GPS,主要说明GPS的实现原理和接口。
1 绪论
1.1 儿童定位系统背景及应用现状
随着生活节奏的日益加快,人们把越来越多的精力投入到了工作之中,对于子女尤其是儿童的照顾就显得力不从心了。
儿童的很多意外都是在无人看管的情况下发生的。
因此,一种能够实时监护儿童的日常活动,并可以及时和家长通信的系统的设计就显得很有必要了。
当父母离开时,该系统可将儿童的位置、活动范围、声音等信息传送到父母携带的接收设备中,使家长对儿童的具体情况能及时掌握,从而达到避免意外事件的发生的目的。
目前,国内外厂商已经研发出该类产品,市场前景广阔。
因此,儿童定位系统设计所研究的问题是具有实际的意义的。
现代通信技术的发展,已经可以使这样的设计实现——利用GPS定位、GSM通信、QT、嵌入式Linux平台进行系统的设计。
GPS(GlobalPositioningSystem-全球定位系统)是在海、陆、空进行全方位实时三维导航与定位的新一代卫星导航与定位系统。
GPS具有高效的定位功能,定位频率高,误差小等优点。
GPS由三个独立的部分组成【1】:
空间部分:
21颗工作卫星,3颗备用卫星。
地面支撑系统:
1个主控站,3个注入站,5个监测站。
用户设备部分:
接收GPS卫星发射信号,以获得必要的导航和定位信息,经数据处理,完成导航和定位工作。
GPS接收机硬件一般由主机、天线和电源组成。
Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。
Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统【1】。
1.2 所需做的工作
基于Linux操作系统的应用开发环境是由开发板和pc机所构成。
目标硬件开发板用于运行操作系统的内核编译、应用程序的开发和调试则需要通过pc机来完成。
实现交叉编译。
因为Linux版本问题以及开发平台的不同,需要自己摸索和修改。
首先需要查找有关于系统升级的资料[1],了解升级方法和步骤,搭建平台,为程序移植做准备。
所谓Linux移植就是把Linux操作系统针对具体的目标平台做必要改写之后,安装到该目标平台使其正确的运行起来。
这个概念目前在嵌入式开发领域讲的比较多。
其基本内容是:
获取某一版本的Linux内核源码,根据我们的具体目标平台对这源码进行必要的改写(主要是修改体系结构相关部分),然后添加一些外设的驱动,打造一款适合于我们目标平台(可以是嵌入式便携设备也可以是其它体系结构的PC机)的新操作系统,对该系统进行针对我们目标平台的交叉编译,生成一个内核映象文件,最后通过一些手段把该映象文件烧写(安装)到我们目标平台中。
而通常对Linux源码的改写工作难度较大,它要求你不仅对Linux内核结构要非常熟悉,还要求你对目标平台的硬件结构要非常熟悉。
同时还要求你对相关版本的汇编语言较熟悉,因为与体系结构相关的部分源码往往是用汇编写的。
所以这部分工作一般由目标平台提供商来完成。
比如说针对目前嵌入式系统中最流行的ARM平台,它的这部分工作就是由英国ARM公司的工程师完成的,我们所要做的就是从其网站上下载相关版本Linux内核的补丁(Patch)。
把它打到我们的Linux内核上,再进行交叉编译就行。
升级成功后根据移植步骤,首先了解GPS接口原理和各个管教的函数定义及其参数设置,包括串口连接的方式。
其次,还要更深入的了解其内核设置,对内核驱动有个详细的了解,学习两个版本的区别。
最后将程序成功调试出来。
2 硬件平台系统简介
2.1 博创平台简介
本次毕设所使用的硬件系统为博创UP-CUPS2410/P270嵌入式开发平台如图2-1,这是一款经典的嵌入式开发平台,拥有许多有用的功能模块可供我们进行系统开发。
由北京博创兴业科技有限公司开发的UP-NetARM3000、UP-NetARM2410系列以及UP-TECHPXA270系列实验仪器。
UP-NetARM3000的CPU为ARM7TDMI内核的三星S3C44B0X01芯片,由于没有MMU(内存管理单元)只能运行uClinux,UP-NetARM2410系列的CPU为ARM920T内核的三星S3c2410芯片。
UP-TECHPXA270系列实验仪器为IntelXscale系列的PXA270CPU。
其中USB主口可选择的模块有蓝牙模块和摄像头模块;168pin扩展插槽的可选模块有GPS+GPRS模块,FPGA模块和CAN节点模块。
本课题所使用的模块就是GPS+GPRS模块。
图2-1博创平台
2.2 嵌入式Linux简介
Linux正在嵌入式开发领域稳步发展。
Linux使用GPL,所有对特定开发板、PDA、掌上机、可携带设备等使用嵌入式Linux感兴趣的人都可以从因特网上免费下载其内核和应用程序,并开始移植和开发。
许多Linux改良品种迎合了嵌入式市场,它们包括RTLinux(实时Linux)、uclinu(用于非MMU设备的Linux)、MontavistaLinux(用于ARM、MIPS、PPC的Linux分发版)、ARM-Linux(ARM上的Linux)和其它Linux系统。
嵌入式Linux的发展比较迅速。
NEC、索尼已经在销售个人视频录像机等基于Linux的消费类电子产品,摩托罗拉则计划在其未来的大多数手机上使用Linux,IBM也制定了在手持机上运行Linux的计划。
数年来,“Linux标准库”组织一直在从事对在服务器上运行的Linux进行标准化的工作,现在,嵌入式计算领域也开始了这一工作。
嵌入式Linux标准吸引了“Linux标准库”以及Unix组织中有益的元素。
2.3 GPS模块简介
GPS(GlobalPositioningSystem-全球定位系统)
GPS的主要优点包括:
(1)全球,全天候工作:
能为用户提供连续,实时的三维位置,三维速度和精密时间。
不受天气的影响。
(2)定位精度高:
单机定位精度优于10米,采用差分定位,精度可达厘米级和毫米级。
(3)功能多,应用广:
目前已广泛的应用于大地测量、工程测量、航空摄影测量、运载工具导航和管制、地壳运动监测、工程变形监测、资源勘察、地球动力学等学科领域。
GPS由三个独立的部分组成:
空间部分:
21颗工作卫星,3颗备用卫星。
地面支撑系统:
1个主控站,3个注入站,5个监测站。