S5P4418 GPS+北斗移植

S5P4418 GPS移植

 

硬件平台:九鼎创展X4418开发板+北斗+GPS

操作系统系统:android4.4

GPS在现在的产品中已经成为了一个必不可少的一种应用,这主要是在我们生活中GPS给我们带了种种便利,在现在城市道路飞速发展的情况下,GPS更显的由为重要,开车到了一个相对陌生的区域可能都要借助于GPS来指路。

我们来介绍一下在android系统下怎么移一个GPS功能。在android系统google已经做好了GPS功能,APK只要调用GPSAPI就可以实现,google的代码中仅仅是针对普通GPS,但是针对中国北斗GPS还是没有完全集成,如果要针对中国北斗的话我们还是要修改JNI层代码。我们这里就简单讲一下GPS移植的一个过程。 

GPS模块接口一般常见是采用串口来通讯(有的是USB接口),我这里用的是串口,GPS模块连接方式很简单,只要4根线就可以,VCC,TX,RX,GND.虽然在硬件连接是简单,但是要把GPS做好切是另外一回事,加为这里会有RF外理问题。这在硬件设计上有一些要求:

1.         RF天线PCB走线要尽量短,并严格要求50欧的走线。

2.         天线走线用地包裹,并打对地孔。尽量屏蔽干扰信号。

影响GPS性能有很多种原因,当使用芯片来设计要考虑的东西就会更多。因为模块已经把很多东西都包含在里面,如LNA.SAW,晶振,等等。有很多人会碰到定位时间长,位置偏离大。这都是一些常见的问题。如定位时间长,这有可能是RF处理的不是很好,由于RF处理的不是很好导致信号不稳定,当环境条件不是很好时GPS打开时无法完整下载星历,或者模块本身使用的TCXO精度不高。等都会影响定位时间。偏移问题,有可能本身环境就不是很好,如城市峡谷,反射信号太多,这都是导致偏移的原因。 

而在android移植要我们做的只有加入GPSHAL层代码。最常见的有两种,一种是厂商提供.SO文件,别一种是提供源码自己编译出.SO文件。我们这里介绍一下提供源码方法。另一种也一样。

 厂商一般会提供一个代码包,主要包含下面几个文件。

第一步:把上面三个文件复制到android/hardware/libhardware/modules/gps文件夹内如果没有GPS 这个文件夹可以建一个。GPS.H文件放到android/hardware/libhardware/include中。

第二步:编译GPS代码:

             $source android/build/envsetup.sh
$ export TARGET_PRODUCT=X4418
$mmm ./gps

             你可以查看在android/out/target/product/x4418/system/lib/hw目录中生成gps.x4418.so

第三步:修改framework代码。加为这部分代码只是做了GPS,但是北斗部分还没有加入,修改这部分主要是加入北斗部分内容。主要是修改下面的几个文件。

第四步:执行 #make update-api

               #mk ./s

执行完前面的四步后把镜像烧写到开发板中,GPS 就可以用了。

我们首先可以看一下GPS模块是否已经正常工具,可以执行一下下面命令:

cat /dev/ttySCA1 (ttySCA1是指GPS所连接的串口号)

如果GPS正常的话就可以看到接收NEMA数据。如果没有查看硬件连接和串口驱动

 

北斗+GPS模块(UM220 III)

 

 

 

      

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值