没事做整理一下GPS的流程,也算给自己一个交代。

1.硬件抽象层:

高通MSM的硬件层代码在:hardware/qcom/gps/loc_api下,高通的GPS集成在baseband侧,与Modem部分一样,同样是基于share Memory上高通自有的RPC协议实现。所以高通的硬件层分为两部分,一部分实现的是:硬件抽象层的接口实现,另一部分实现的是基于RPC协议封装的具体控制和数据操作,该部分主要是利用高通的RPC代码生成器生成。两个部分是通过一个glue层粘合在一起的。高通MSM的硬件抽象层在其子目录 libloc_api中,主要在loc_eng.cpp中。loc_eng_ioctl.cpp用于承载到glue层的具体控制和回调。而剩余其它几个文件主要是辅助GPS定位的XTRA和Net Initiated的实现。

GpsInterface接口实现如下:

高通的GPS硬件抽象层包含GPS数据的“获取”和“解析”,它们都通过RPC上报。然后再调用loc_eng_init注册的回调,向上层上报。

上报部分的实现是基于loc_eng_process_deferred_action函数的线程中,该线程实现一个等待循环,当GPS有数据解析上报时,RPC部分会回调loc_eng_init初始化时的loc_event_cb,该回调函数会激活线程中的等待循环。线程通过loc_eng_process_loc_event函数处理获取数据,并调用loc_eng_report_xxx(xxx代表position、卫星状态sv等),将数据通过上层注册的回调函数进行上报。这部分代码如下:

高通GPS还实现了XTRA与AGPS,其中AGPS的接口在sLocEngAGpsInterface中实现,内容如下:

loc_eng_agps_set_server函数完成对server的配置。硬件抽象层根据loc_eng_set_position_mode中传入的配置,决定是否启用AGPS。其中启动函数为set_agps_server,该函数最终通过RPC写入GPS。

高通MSM8255 GPS 调试分析相关推荐

  1. 高通MSM8255 GPS 调试分析Android系统之Broadcom GPS 移植

    http://blog.csdn.net/dwyane_zhang/article/details/6775738 没事做整理一下GPS的流程,也算给自己一个交代. 1.硬件抽象层: 高通MSM的硬件 ...

  2. 高通平台GPS工程测试接收参数解析

    高通平台GPS工程测试&接收参数解析 前言 一.GPS工程测试 1.测试环境&仪器搭建 2.板子/整机状态 二.GPS接收机参数解析 1.灵敏度 2.空间衰减 3.SNR信噪比 4.C ...

  3. st18 android 5,高通MSM8255只要1K5!高性价比的安卓机推荐

    高通MSM8255/3.3英寸/2300元--索爱Xperia ray ST18i 当前市场上的大多数智能机型,在外观的设计上,或多或少都偏重商务风格,同质化现象也非常严重.而索尼爱立信在今年成功推出 ...

  4. linux驱动由浅入深系列:高通sensor架构实例分析之一

    点击打开链接 本系列导航: linux驱动由浅入深系列:高通sensor架构实例分析之一(整体概览+AP侧代码分析) linux驱动由浅入深系列:高通sensor架构实例分析之二(adsp驱动代码结构 ...

  5. 高通Camera 驱动调试要点(一)

    高通Camera 驱动调试要点(一)_bobuddy的博客-CSDN博客_camera 驱动调试

  6. CM4尺寸4G mini模组高通版GPS功能测试

    关键词:树莓派  CM4  4G  mini  高通  芯片组  GPS  无源天线  minicom   概述:我们有一款定制版的miniPCIE接口4G模组,采用高通芯片组,可支持GPS.为了方便 ...

  7. linux驱动由浅入深系列:高通sensor架构实例分析之三(adsp上报数据详解、校准流程详解)

    本系列导航: linux驱动由浅入深系列:高通sensor架构实例分析之一(整体概览+AP侧代码分析) linux驱动由浅入深系列:高通sensor架构实例分析之二(adsp驱动代码结构)

  8. 高通Android display架构分析

    目录(?)[-] Kernel Space Display架构介绍 函数和数据结构介绍 函数和数据结构介绍 函数和数据结构介绍 数据流分析 初始化过程分析 User Space display接口 K ...

  9. Android 10 高通 AF fullsweep 调试 指南

    高通 AF tuning中的fullsweep 调试 指南 此操作的目的是为了确认马达工作 减少不必要的争议 开启 fullsweep & AF log adb root adb remoun ...

最新文章

  1. 三菱工业机器人rv6s_FANUC机器人控制器—维护三要素
  2. dockerfile常用命令
  3. Python代码注释
  4. java局域网 端口扫描_java 如何端口扫描出ssh端口?
  5. 社交网络图中结点的“重要性“计算(Dijkstra + SPFA + Floyd + 模板)
  6. python外星人入侵游戏run_game报错_《python编程从入门到实践》书中的外星人入侵小游戏报错...
  7. 今天中午的时候,可能是自己太忙过头了,所以出现了拿错卡去充值
  8. MVP Open Day小记
  9. 翻译: Web 3.0是一种几乎无需信任的承诺的协议/架构
  10. 湖工微型计算机及原理题目,2017年湖北工业大学电气与电子工程学院942微机原理与应用考研导师圈点必考题汇编...
  11. mysql 数据库遭遇 Loki 加密勒索病毒数据恢复
  12. 【groovy #1】groovy的相关知识
  13. 【Java基础】网络编程-计算机网络基本概念(一)
  14. UML-类 图 (2)
  15. 语音识别(20201030)——麦克风阵列(采集语音信号)
  16. matlab拉普拉斯因式分解,拉氏变换与反变换
  17. 答“月薪4000元在苏州的日子”
  18. c语言自学文档,C语言入门自学教程傲梦.docx
  19. 如何判断两张图片是否类似
  20. 弘辽科技:直通车成交率怎么算?成交率低怎么办?

热门文章

  1. 2021-TRN1-Q
  2. 计算机怎样弄目录,win7怎么样在word文档中做目录 做目录方法教程
  3. 零代码平台——业务人员的知识变现工具
  4. find命令及文件名后缀
  5. 交叉编译基础知识总结(2)
  6. AI在FinTech金融科技领域最新现状及趋势分析
  7. 小程序批发订货怎么做
  8. 这个很NB,html在线编辑器
  9. 国际云管理服务商Bespin Global将发布中国战略
  10. vue - Error: Can't resolve '@/assets/img/github.svg (vue-cli3.0,无法解析.svg图片,已解决)...