打印
[ZLG-ARM]

呵呵,好**

[复制链接]
2246|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chun1chun|  楼主 | 2009-7-2 14:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、硬件实现  本嵌入式GPS导航系统的硬件核心是三星公司arm9系列中的16/32位RISC处理器S3C2410A芯片,该芯片强大的实时处理能力和丰富的外围接口非常适合嵌入式系统的开发,本系统正是基于该芯片的这些特点而设计的。系统框图如图1所示。
  该系统以S3C2410A微处理器为核心,与2片32M的SDRAM(HY57V561620CT)和一片64M的NAND Flash(K9F1208U0B)组成了最小系统。外部添加了用于接收GPS信号的GPS模块,用于显示的液晶面板以及一片UDA1341TS的声音芯片。此外,为了调试的方便,我们还增加了一片CS8900A的10M网卡芯片。





图1系统框图


二、系统平台的建立
  系统平台的建立主要包括两部分,即宿主机(PC机)上操作系统的选择和交叉编译器工具链的建立。
  PC机上的操作系统可以有多种选择:安装Linux发行版、在Windows下使用虚拟机或者使用Cygwin。由于现今Microsoft Windows统领着全球超过半数的PC机(在中国Windows占据近90%的份额),许多开发者开始使用虚拟机等手段来实现在Windows平台下进行嵌入式Linux的开发,但这些方法都会或多或少地带来些兼容性问题。开发嵌入式Linux最好的选择便是在PC机上安装Linux发行版,因为这样与Windows毫无关联,可占有系统全部资源,拥有系统最高性能和最佳的兼容性。
  在建立交叉编译器工具链方面必须注意一点的便是C运行库的选择。现在可供选择的C运行库有glibc, uClibc以及newlib等。glibc是由GNU项目提供的标准C运行库,它针对PC应用设计,较庞大,但能提供最优的兼容性。如果一般的嵌入式开发可选用uClibc。uClibc原本是uCLinux开发过程中的一个C语言库,现已经独立于uCLinux项目并且进一步完善。它对glibc的大部分函数进行了重写,并且目标就定位于嵌入式,所以其相对glibc而言要小巧很多。此外由于它的函数与glibc保持一致,这样很多原本基于glibc开发的软件基本无需改动便可改用uClibc编译运行,使得在嵌入式系统上占用的内存和磁盘空间更少。但由于毕竟不是标准的C运行库,因此uClibc拥有着一定的兼容性问题。
  本系统选用了Fedora Core 5作为宿主机(PC机)的操作系统以及分别使用buildroot和crosstool建立两条采用不同的C运行库的交叉编译器工具链。由于我们系统开发需要使用U-Boot的TFTP功能下载Linux内核以及Linux的NFS网络文件系统,所以首先需要对Fedora Core 5设置TFTP以及NFS,而后需要设置一个串口通信软件与开发板互动,本系统选择了Kermit。
  使用两条采用不同C运行库的交叉编译器工具链的主要原因在于,我们的导航应用程序使用uClibc有兼容性问题,所以不得不采用glibc。而为了减少占用资源,我们U-Boot、Linux内核和Busybox仍然采用的是uClibc。
  本课题主要环境设置如下:



  课题主目录
  /Project
  编译器目录
  arm-linux-uclibc-
  /Project/toolchina/uclibc/buildroot/build_arm_nofpu/
  staging_dir
  arm-unknown-linux-gnu-
  /Project/toolchain/glibc/tools/gcc-4.1.0-glibc-2.3.2/
  arm-unknown-linux-gun
  NFS目录
  /Project/nfs
  TFTP目录
  /tftpboot
  PC机的IP地址
  192.168.0.110
  开发板的IP地址
  192.168.0.3

  三、应用软件的开发
  在系统平台建立之后,Linux操作系统提供了底层的操作,包括文件系统的管理、内存分配以及基本flash的烧录读取,但并没有提供友好的显示界面。同时也为了实现地理数据的显示和导航,就需要在操作系统上放入图形用户界面支持系统和地理信息开发平台。为此我们分别选择了MiniGUI和mGIS。







图3是应用软件的流程图

  整个软件系统依靠响应不同窗口或者控件发出的事件,来实现各种功能。通过主窗口建立后注册mGIS控件,可以较为方便的实现一些常用的地图操作。主窗口建立后,将会创建许多用于子窗口,
  包括用于显示经纬度信息,时间。速度的静态框,用于实现快速便捷操作的工具栏,用于实现GPS功能关闭和地图数据加载的菜单栏。




图4 GPS接收模块流程图


  四、总结
嵌入式移动地图导航系统经过最初设计、实现及应用检验,已经具备基本的功能,可初步满足个人移动导航信息系统的需求。能完成数字地图的加载、缩放、拖动、搜索、简易导航、测距、GPS功能开闭等功能。同时我们也摸索出了一整套较为可行的矢量地图的制作方法,能依据使用的场合不同,较快速的完成地图数据源的制作及相关信息的添加,有一定的扩展能力。  




图5硬件平台

相关帖子

沙发
postcode| | 2009-7-2 18:19 | 只看该作者

谢了,不错

使用特权

评论回复
板凳
qtopia| | 2009-7-4 13:06 | 只看该作者

好**,谢楼主

使用特权

评论回复
地板
lpc2410| | 2009-7-6 13:20 | 只看该作者

学习了

使用特权

评论回复
5
tmake| | 2009-7-9 13:32 | 只看该作者

还不错

使用特权

评论回复
6
armqt| | 2009-7-24 18:13 | 只看该作者

学习学习

使用特权

评论回复
7
孤独行者| | 2009-7-25 17:58 | 只看该作者

呵呵,好**

如果可以配上电路图就更好啦!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

133

帖子

0

粉丝