本文主要是介绍S5P4418 GPS+北斗移植,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
S5P4418 GPS移植
硬件平台:九鼎创展X4418开发板+北斗+GPS
操作系统系统:android4.4
GPS在现在的产品中已经成为了一个必不可少的一种应用,这主要是在我们生活中GPS给我们带了种种便利,在现在城市道路飞速发展的情况下,GPS更显的由为重要,开车到了一个相对陌生的区域可能都要借助于GPS来指路。
我们来介绍一下在android系统下怎么移一个GPS功能。在android系统google已经做好了GPS功能,APK只要调用GPS的API就可以实现,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)
这篇关于S5P4418 GPS+北斗移植的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!