GPS(ublox MAX 7c)移植 (飞思卡尔 IMX6 Android4.3平台)

本文档详细介绍了在飞思卡尔IMX6平台上,如何将u-blox MAX 7c GPS驱动移植到Android 4.3系统中,包括移植步骤、UART接口测试、源码修改和编译问题,以及测试方法。
摘要由CSDN通过智能技术生成

1.Ublox 驱动在系统中位置

     GNSS Driver 就是对应了ublox的驱动, 它在android的HAL层。

                                                 


2. 移植步骤

      ublox提供的driver是HAL的代码,最终将生成一个so文件,向gps的framwork层提供解析后的gps数据,HAL层的代码相当于Linux的应用层,在framwork层启动时会载入这个so文件,然后会启动里面的一个gps服务线程,这个线程向上提供gps数据,向下通过接口(可以为UART或是I2C)设置gps reciever(max7)和获取raw data,这个驱动实际上也不能称为驱动,也就是个linux应用。移植步骤分为两个:

    a. 测试硬件通道

       测试UART口,数据的收发。

    b. 移植driver

 

3. 测试UART口

     其实UART口的测试不用摆在最前面,把驱动调通了再看也不迟. 如果你明确的知道这个uart的gpio没有配置,或者uart驱动没加载, 或者不确定,,  那应该先看看gpio口是否配置了,如果配置了,再看uart驱动是否在board文件中加载了,  再调uart口. uart的调试主要有打开、关闭,收发数据,对于没有数据输出的uart不太好测试,那只有等设备driver调通了在测试也可以。发送数据可以测试,需要一个uart转usb的转接板,我用的pc端串口工具是putty,简单好用,测试的时候先把板子上的uart口的tx、rx接出来,直接连到转接板上,vcc和ground也接上(有的不用接VCC),这样打开putty,设置好波特率就可以调试了,这个方法也可以用来调试linux的调试端口,可以替代部分adb的功能,这个端口一般是tty**0,在我们的项目中是“ttymxc0”,而我调试gps的uart口是“ttymxc4”,uart口的命名都类似,如果不确定可以去\dev 目录下看看,当然要进入系统才能看到。

 

4.源码移植

4.1 步骤

     通过查看厂商提供文档和代码目录下的Readme,我得出了如下的Driver移植步骤

     a. 代码要拷贝到指定位置 "hardware/u-blox/gps“
     b. apply patch:

          patch文件在源码的patch目录下,区分了不同的android版本。

     c. 设置SUPL的支持(未设)

         这个选项有问过厂商一个app的小妹,但是似乎她不太懂,他们这个driver是新的3.0,还很不完善,这个小妹说要disable这个选项,那其实简单的disable

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值