I.MX6 GPS Android HAL Framework 调试

一、参考文章:
android4. GPS定位问题
http://blog.csdn.net/bzw073/article/details/44341943 二、修改GPS配置文件:
. myzr@myzr:~/myandroid/device$ grep ttymxc2 * -R
......
fsl/imx6/etc/ueventd.freescale.rc:/dev/ttymxc2 system gps
fsl/sabresd_6dq/init.rc: symlink /dev/ttymxc2 /dev/gpsdevice
fsl/imx5x/ueventd.freescale.rc:/dev/ttymxc2 bluetooth bluetooth
fsl/imx53_smd/init.freescale.rc:#service hciattach /system/bin/logwrapper /system/bin/hciattach -n -s /dev/ttymxc2 ath3k flow sleep
fsl-proprietary/gps/Orion.ini:;ReceiverComPortName=/dev/ttymxc2
...... . cat fsl/imx6/etc/ueventd.freescale.rc
......
/dev/ttymxc1 system gps <----- zengjf modified
/dev/ttya0 system gps
/dev/ptya0 system gps
/dev/ttya1 system gps
/dev/ptya1 system gps
...... . 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
write /sys/class/gpio/gpio60/direction "out"
write /sys/class/gpio/gpio60/value
...... . cat fsl-proprietary/gps/Orion.ini
......
; GPS Receiver COM Port Baud Rate for boot, , , , , or custom
ReceiverComPortBootSpeed=            <----- zengjf modified
ReceiverComPortName=/dev/ttymxc1 <----- zengjf modified
...... 三、修改Atheros GPS HAL代码:
. 代码位置:/home/myzr/myandroid/hardware/imx/libgps/athr_gps.c
. GPS调试,当然要打开调试功能了:
......
#define GPS_DEBUG
/* #undef GPS_DEBUG_TOKEN */ /* print out NMEA tokens */
#define GPS_DEBUG_TOKEN /* print out NMEA tokens */
......
. 修改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 = ;
ios.c_lflag = ; /* disable ECHO, ICANON, etc... */
tcsetattr( state->fd, TCSANOW, &ios );
tcflush(state->fd,TCIOFLUSH);
}
......
} 四、修改GPS LocationManagerService代码:
. 代码位置:/home/myzr/myandroid/frameworks/base/services/java/com/android/server/LocationManagerService.java
. 具体原因请参考《参考文章》
@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编译:
. 代码位置:/home/myzr/myandroid/device/fsl/sabresd_6dq/BoardConfig.mk
. 参考代码如下,没有任何修改:
BOARD_HAVE_HARDWARE_GPS := true
USE_ATHR_GPS_HARDWARE := true
USE_QEMU_GPS_HARDWARE := false

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

  1. 王家林的81门一站式云计算分布式大数据&移动互联网解决方案课程第14门课程:Android软硬整合设计与框架揭秘: HAL&Framework &Native Service &App&HTML5架构设计与实战开发

    掌握Android从底层开发到框架整合技术到上层App开发及HTML5的全部技术: 一次彻底的Android架构.思想和实战技术的洗礼: 彻底掌握Andorid HAL.Android Runtime ...

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

    /************************************************************************* * I.MX6 AW-NB177NF wifi H ...

  3. Android如何完全调试framework层代码

    1 之前写过一篇文章:<Android实现开机调试system_process> 2 google的eclipse插件ADT的已经能够很方便的调试Android的apk了,但是调试的时候应 ...

  4. 【转】Android HAL实例解析

    原文网址:http://www.embedu.org/Column/Column339.htm 作者:刘老师,华清远见嵌入式学院讲师. 一.概述 本文希望通过分析台湾的Jollen的mokoid 工程 ...

  5. Android HAL实例解析

    一.概述 本文希望通过分析台湾的Jollen的mokoid 工程代码,和在s5pc100平台上实现过程种遇到的问题,解析Andorid HAL的开发方法. 二.HAL介绍 现有HAL架构由Patric ...

  6. Android HAL模块实现

    1. HAL介绍 Android的HAL(Hardware Abstract Layer硬件抽象层)是为了保护一些硬件提供商的知识产权而提出的.是为了避开linux的GPL束缚. 思路是把控制硬件的动 ...

  7. 整理: Android HAL

    这篇文章整理来自http://bbs.chinaunix.net/thread-3675980-1-1.html 在论坛中看到的Android HAL讨论,有个ID描述的比较清楚,摘录如下: temp ...

  8. 在Mac系统上配置Android真机调试环境

    在Mac系统上配置Android真机调试环境 mac上配置安卓环境还说挺方便的,真机调试也比win上要好一些.win上被各种软件强行安装了xxx助手. 在mac上就了一个干净的感觉. 下载Androi ...

  9. android HAL 教程(含实例)

    http://www.cnblogs.com/armlinux/archive/2012/01/14/2396768.html Android Hal 分析                       ...

随机推荐

  1. Miller-Rabin素数测试算法(POJ1811Prime Test)

    题目链接:http://poj.org/problem?id=1811 题目解析:2<=n<2^54,如果n是素数直接输出,否则求N的最小质因数. 求大整数最小质因数的算法没看懂,不打算看 ...

  2. win10用键盘控制鼠标

    打开控制面板 进入轻松使用 更改鼠标的工作方式 勾选启用鼠标键 点击设置鼠标键 应用确定 ctrl+shift+numlock开启鼠标键 小键盘8426上下左右,5类似鼠标单击 ctrl+小键盘加速, ...

  3. 一个很大的文件,存放了10G个整数的乱序数列,如何用程序找出中位数。

    一.梳理审题 一.看清题目: 注意这个题目的量词,这个文件中有10G个整数,而不是这个文件占了10G的内存空间. 二.一些疑问: 在计算机中我们讲的G.M等都是存储容量的概念,但是一般都会在会面加上B ...

  4. 20155302 2016-2017-2 《Java程序设计》第八周学习总结

    20155302 2016-2017-2 <Java程序设计>第八周学习总结 教材学习内容总结 在NIO中有几个比较关键的概念:Channel(通道),Buffer(缓冲区),Select ...

  5. 通过J2EE Web工程添加Flex项目,进行BlazeDS开发

    http://www.cnblogs.com/noam/archive/2010/07/22/1782955.html 环境:Eclipse 7.5 + Flex Builder 4 plugin f ...

  6. 关于GET POST

    先说相同点,只有了解了相同点之后才能理解为什么会发生混淆.两者都能向服务器发送数据,提交的“内容”[注1]的格式相同,都是var_1=value_1&var_2=value_2&... ...

  7. 正在尝试解析依赖项“MvvmLightLibs (≥ 5.2.0.0)”。 “MvvmLightLibs”已拥有为“CommonServiceLocator”定义的依赖项

    正在尝试解析依赖项"MvvmLightLibs (≥ 5.2.0.0)". "MvvmLightLibs"已拥有为"CommonServiceLoca ...

  8. 基于std::string的字符串处理

    转自:http://zxdflyer.blog.163.com/blog/static/25664262201322510217495/ C++标准模板库std使用广泛.该库中处理字符串的对象为std ...

  9. 20145322 何志威《网络对抗》shellcode注入&Return-to-libc攻击深入

    基础知识 Shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢出,覆盖成为指向 shellcode的地址. execstack - ...

  10. Markdown中的表格

    参考:在简书上用Markdown写表格 | Tables | Are | Cool | | ------------- |:-------------:| -----:| | col 3 is | r ...