I.MX6 GPS Android HAL Framework 调试

简介: I.MX6 GPS Android HAL Framework 调试 一、参考文章: android4.3 GPS定位问题 http://blog.
                         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

 

目录
相关文章
|
3月前
|
存储 消息中间件 人工智能
【03】AI辅助编程完整的安卓二次商业实战-本地构建运行并且调试-二次开发改注册登陆按钮颜色以及整体资源结构熟悉-优雅草伊凡
【03】AI辅助编程完整的安卓二次商业实战-本地构建运行并且调试-二次开发改注册登陆按钮颜色以及整体资源结构熟悉-优雅草伊凡
123 3
|
3月前
|
缓存 Unix Android开发
Android安卓项目调试之Gradle 与 Gradle Wrapper的概念以及常用gradle命令深度详解-优雅草卓伊凡
Android安卓项目调试之Gradle 与 Gradle Wrapper的概念以及常用gradle命令深度详解-优雅草卓伊凡
306 8
|
3月前
|
存储 API Android开发
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
192 4
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
|
9月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
10月前
|
缓存 Java 测试技术
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
1221 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
|
11月前
|
缓存 前端开发 Android开发
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
493 12
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
439 0
|
Shell Linux 开发工具
"开发者的救星:揭秘如何用adb神器征服Android设备,开启高效调试之旅!"
【8月更文挑战第20天】Android Debug Bridge (adb) 是 Android 开发者必备工具,用于实现计算机与 Android 设备间通讯,执行调试及命令操作。adb 提供了丰富的命令行接口,覆盖从基础设备管理到复杂系统操作的需求。本文详细介绍 adb 的安装配置流程,并列举实用命令示例,包括设备连接管理、应用安装调试、文件系统访问等基础功能,以及端口转发、日志查看等高级技巧。此外,还提供了常见问题的故障排除指南,帮助开发者快速解决问题。掌握 adb 将极大提升 Android 开发效率,助力项目顺利推进。
468 0
|
前端开发 数据处理 Android开发
Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍
本文深入探讨了Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍,以及具体操作步骤、常见问题解决、高级调试技巧、团队协作中的调试应用和未来发展趋势,旨在帮助开发者提高调试效率,提升应用质量。
451 8
|
Ubuntu Android开发
安卓系统调试与优化:(一)bootchart 的配置和使用
本文介绍了如何在安卓系统中配置和使用bootchart工具来分析系统启动时间,包括安装工具、设备端启用bootchart、PC端解析数据及分析结果的详细步骤。
906 0
安卓系统调试与优化:(一)bootchart 的配置和使用

热门文章

最新文章