I.MX6 GPS Android HAL Framework 调试

                         I.MX6 GPS Android HAL Framework 调试

一、参考文章:
    android4.3 GPS定位问题
        http://blog.csdn.net/bzw073/article/details/44341943

二、修改GPS配置文件:
    1. myzr@myzr:~/myandroid/device$ grep ttymxc2 * -R
        ......
        fsl/imx6/etc/ueventd.freescale.rc:/dev/ttymxc2              0660   system     gps
        fsl/sabresd_6dq/init.rc:    symlink /dev/ttymxc2 /dev/gpsdevice
        fsl/imx5x/ueventd.freescale.rc:/dev/ttymxc2              0600   bluetooth  bluetooth
        fsl/imx53_smd/init.freescale.rc:#service hciattach /system/bin/logwrapper /system/bin/hciattach -n -s 115200 /dev/ttymxc2 ath3k 3000000 flow sleep
        fsl-proprietary/gps/Orion.ini:;ReceiverComPortName=/dev/ttymxc2
        ......

    2. cat fsl/imx6/etc/ueventd.freescale.rc
        ......
        /dev/ttymxc1              0660   system     gps   <----- zengjf modified
        /dev/ttya0                0660   system     gps
        /dev/ptya0                0660   system     gps
        /dev/ttya1                0660   system     gps
        /dev/ptya1                0660   system     gps
        ......

    3. cat fsl/sabresd_6dq/init.rc
        ......
        # Set GPS serial and reset GPIO pin
        setprop ro.kernel.android.gps /dev/ttymxc1        <----- zengjf modified
        setprop persist.gps.oacmode @f
        symlink /dev/ttymxc1 /dev/gpsdevice               <----- zengjf modified
        write /sys/class/gpio/export 60
        write /sys/class/gpio/gpio60/direction "out"
        write /sys/class/gpio/gpio60/value 1
        ......

    4. cat fsl-proprietary/gps/Orion.ini
        ......
        ; GPS Receiver COM Port Baud Rate for boot, 115200, 230400, 460800, 921600,     or custom
        ReceiverComPortBootSpeed=9600            <----- zengjf modified
        ReceiverComPortName=/dev/ttymxc1                 <----- zengjf modified
        ......

三、修改Atheros GPS HAL代码:
    1. 代码位置:/home/myzr/myandroid/hardware/imx/libgps/athr_gps.c
    2. GPS调试,当然要打开调试功能了:
        ......
        #define  GPS_DEBUG
        /* #undef    GPS_DEBUG_TOKEN */ /* print out NMEA tokens */
        #define  GPS_DEBUG_TOKEN    /* print out NMEA tokens */
        ......
    3. 修改tty 串口默认通信波特率:
        int gps_opentty(GpsState *state)
        {
            ......
            // disable echo on serial lines
            if ( isatty( state->fd ) ) {
                struct termios  ios;
                tcgetattr( state->fd, &ios );
                bzero(&ios, sizeof(ios));
                //ios.c_cflag = B115200 | CS8 | CLOCAL | CREAD;
                ios.c_cflag = B9600 | CS8 | CLOCAL | CREAD;   <----- zengjf modified
                ios.c_iflag = IGNPAR;
                ios.c_oflag = 0;
                ios.c_lflag = 0;  /* disable ECHO, ICANON, etc... */
                tcsetattr( state->fd, TCSANOW, &ios );
                tcflush(state->fd,TCIOFLUSH);
            }
            ......
        }

四、修改GPS LocationManagerService代码:
    1. 代码位置:/home/myzr/myandroid/frameworks/base/services/java/com/android/server/LocationManagerService.java
    2. 具体原因请参考《参考文章》
        @Override
        public void reportLocation(Location location, boolean passive) {
            checkCallerIsProvider();

            // 2015-11-2 zengjf modify for GPS module
            /*
            if (!location.isComplete()) {
                Log.w(TAG, "Dropping incomplete location: " + location);
                return;
            }
            */
            ......
        }

五、打开开发板GPS编译:
    1. 代码位置:/home/myzr/myandroid/device/fsl/sabresd_6dq/BoardConfig.mk
    2. 参考代码如下,没有任何修改:
        BOARD_HAVE_HARDWARE_GPS := true
        USE_ATHR_GPS_HARDWARE := true
        USE_QEMU_GPS_HARDWARE := false

 

时间: 2024-10-23 01:25:02

I.MX6 GPS Android HAL Framework 调试的相关文章

I.MX6 AW-NB177NF wifi HAL 调试修改

/************************************************************************* * I.MX6 AW-NB177NF wifi HAL 调试修改 * 说明: * 在进行Android层的wifi驱动层调试中遇到很多问题,记录一下. * * 2016-6-25 深圳 南山平山村 曾剑锋 ************************************************************************

Android HAL(硬件抽象层)介绍以及调用

Android 的 HAL(Hardware Abstract Layer硬件抽象层)是Google因应厂商「希望不公开源码」的要求下,所推出的新观念,其架构如下图.虽然 HAL 现在的「抽象程度」还不足,现阶段实作还不是全面符合 HAL的架构规划,不过也确实给了我们很好的思考空间. 图1:Android HAL 架构规划 这是 Patrick Brady (Google) 在2008 Google I/O 所发表的演讲「Anatomy & Physiology of an Android」中,

在android车机上调试USB Camera录像拍照功能

在android车机上调试USB Camera录像拍照功能           USB Camera在上一篇文章中已经跑起来了,上次的情况是camera预览可以,拍照.录像不行.除了强制设置视频设备设备文件为/dev/video2,也就是这个usb camera插入系统后自动分配的设备文件,其他没有修改.一拍照或者录像,程序就死了,错误打印如下: /**************************************************************************

android真机调试时无法显示logcat信息的解决方法介绍

以下是对android真机调试时无法显示logcat信息的解决方法进行了详细的分析介绍,需要的朋友可以过来参考下   android真机调试时无法显示logcat信息的解决方法介绍: window-->show view-->android->devices, 打开devices,点击右边的截屏图片的按钮.等到出现截图的时候,logcat就出来信息了!

android真机调试如何访问本地服务器

问题描述 android真机调试如何访问本地服务器 我自己的的服务器地址是192.168.1.102:8080/com_web/index.html,电脑和手机都在同一个网络里面.但是访问的时候就是找不见网页.请问是怎么回事. 解决方案 电脑防火墙关掉了吗? 解决方案二: 我也觉得可能是防火墙的原因,把防火墙关掉试试 解决方案三: 看看是否开通网络访问权限 解决方案四: 给的链接电脑能正常访问?手机端的ip和链接中的一致?确认一下电脑防火墙? 解决方案五: 手机的默认网络地址不和电脑连接的无线网

android真机调试,获取网页源代码,返回302.请大神指点迷津,万分感谢!

问题描述 android真机调试,获取网页源代码,返回302.请大神指点迷津,万分感谢! 获取网页源代码,返回code是302 用真机调试 ,请大神指点迷津,万分感谢! URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(5000); conn.set

react-nati...-react-native 用android真机调试

问题描述 react-native 用android真机调试 出现如下图所示,ip地址输入的是本机的ip地址加:8081还是这个错误-求救(?°????????ω°????????`) 解决方案 http://my.oschina.net/imot/blog/512808

android的framework层动态修改原生输入法高度

问题描述 android的framework层动态修改原生输入法高度 framework层的修改(点击textview后,底层能动态控制输入法的高度显示) 解决方案 表达清楚,想要的效果什么样的!

android真机调试时无法显示logcat信息的解决方法介绍_Android

android真机调试时无法显示logcat信息的解决方法介绍: window-->show view-->android->devices, 打开devices,点击右边的截屏图片的按钮.等到出现截图的时候,logcat就出来信息了!