高通8155 GPS HAL层代码移植
1.添加gps hal层代码包
将ublox gps芯片的hal层代码拷贝至apps/LINUX/android/hardware/ublox/路径下,树状图如下:
2.修改编译选项
将新增的ublox gps hal层代码编译进入image,需要修改apps/LINUX/android/device/qcom/msmnile_gvmgh/路径下的msmnile_gvmgh.mk和manifest.xml两个文件。【注:msmnile_gvmgh是我的项目工程名,即out/target/product/msmnile_gvmgh】
2.1修改msmnile_gvmgh.mk
gps hal层源码ublox/gps/hal/Android.mk中有如下描述:
HIDL_VERSION的值在ublox/gps/version.mk中定义:
搜索PLATFORM_SDK_VERSION可知该值为30,对应版本名为Android11,根据version.mk应该选择HIDL_VERSION值为2.1。
在Android中,通过PRODUCT_PACKAGES宏将指定的模块编译进最终烧写的image中,这里使用相同的方式将ublox gps hal层代码编译并打包至image。在msmnile_gvmgh.mk文件末尾添加一下内容:
#for u-blox GNSS
PRODUCT_PACKAGES += libParser \libAgnss \android.hardware.gnss@2.1-service-ubx \u-blox.conf
2.2 修改manifest.xml
在ublox gps hal层代码包的README文件中有说明,需要修改manifest.xml文件,以说明为模板参考、根据项目实际情况修改即可。
3.移除高通默认的gps功能模块
去掉系统中默认的虚拟的gps功能模块,系统才能加载刚刚编译进系统的真正的gps功能代码。
修改apps/LINUX/android/hardware/qcom/gps/gps_vendor_product.mk文件。
4.添加安全配置文件
在ublox gps hal层代码包的README文件中有说明,说明如下:
u-blox/gps/sepolicy/目录下有多个Android版本的配置文件,我的Android版本为11,选择Android-11即可。
在apps/LINUX/android/device/qcom/sepolicy_vndr/SEpolicy.mk文件中添加一下内容即可:
BOARD_SEPOLICY_DIRS += hardware/u-blox/gps/sepolicy/android-11
5.配置串口
5.1 设备树配置
GPS和SoC之间通过uart进行数据交互,所以需要配置对应串口的设备树文件,如果串口已经配置好了即可以正常使用,则此步骤跳过。
5.2 Qup配置
Qup的全称是qualcomm universal peripherals即高通通用外设,uart就是连接在qup上,我的gps uart连接在QUP13上,所以肯需要在tz_8155/trustzone_images/core/settings/buses/qup_accesscontrol/qupv3/config/855/QUPAC_Access.c文件中修改qupv3_perms_auto[]数组的QUPV3_2_SE3相关配置。
每个数组项有7个元素,分别是PeriphID、ProtocolID、Mode、NsOwner、bAllowFifo、bLoad、bModExcl。
PeriphID - QUP SE ID基于QUP块和块内的SE索引,例如QUPV3_2_SE3表示QUP块2,其SE索引为3;
ProtocolID – 它定义了由QUP固件管理的协议。
Mode – 它定义了QUP固件的默认工作模式。它可以是以下之一:QUPV3_MODE_FIFO = 0,QUPV3_MODE_CPU_DMA = 1, QUPV3_MODE_GSI = 2;
NsOwner - 它定义了负责初始化和运行的QUP SE的所有者;
bAllowFifo - 允许FIFO模式始终设置为TRUE。
bLoad - 加载固件映像总是设置为TRUE。
bModExcl - 模式独占性总是设置为FALSE。
5.3 Ublox gps代码配置
ublox/gps/u-blox.conf文件是ublox gps hal层代码的配置文件,该文件中可以配置HAL层需要打开的串口设备节点以及串口的波特率等设置。
高通8155 GPS HAL层代码移植相关推荐
- 高通MSM8255 GPS 调试分析Android系统之Broadcom GPS 移植
http://blog.csdn.net/dwyane_zhang/article/details/6775738 没事做整理一下GPS的流程,也算给自己一个交代. 1.硬件抽象层: 高通MSM的硬件 ...
- 高通MSM8255 GPS 调试分析
没事做整理一下GPS的流程,也算给自己一个交代. 1.硬件抽象层: 高通MSM的硬件层代码在:hardware/qcom/gps/loc_api下,高通的GPS集成在baseband侧,与Modem部 ...
- 高通8155/8295 boot分析
目录 前言 通用boot流程 8155/8295 boot流程概述 前言 本文将基于高通8155/8295 Q+A hypervisor平台分析整个boot的启动流程.高通其他SOC芯片的启动流程大致 ...
- 04 基于高通8155的智能座舱功能安全设计
前言 本篇图文跟大家分享一下基于高通8155的智能座舱仪表域功能安全设计. 全系内容可在<搞一下汽车电子>后台回复 "系列",或进入菜单栏 "分享平台&quo ...
- 高通8155车载芯片_WEY来“摩卡”云首秀,搭载高通8155芯片
本期亮点 "咖啡"一词源自埃塞俄比亚的一个名叫卡法的古镇,在希腊语中"Kaweh"的意思是"力量与热情",而摩卡咖啡代表着创新和更多可能性 ...
- Android架构实例分析之编写hello驱动的HAL层代码
Android架构实例分析之编写hello驱动的HAL层代码 摘要: HAL层中文名称又叫硬件抽象层,可以理解我Linux驱动的应用层.本文实现了一个简单的hello HAL的代码,衔接hello驱动 ...
- CM4尺寸4G mini模组高通版GPS功能测试
关键词:树莓派 CM4 4G mini 高通 芯片组 GPS 无源天线 minicom 概述:我们有一款定制版的miniPCIE接口4G模组,采用高通芯片组,可支持GPS.为了方便 ...
- 认识高通8155(开发板介绍)
认识高通8155 一.8155芯片介绍 高通8155就是高通SA8155P芯片的简称,发布于2019年,是全球首款量产7nm制程车机芯片,整个芯片的AI算力能够达到8TOPS,同时还有蓝牙5.0.Wi ...
- 高通8155智能座舱「风头正劲」,三款热销车型过万辆
2021年之前,大部分市场在售车型的座舱尤其是车机芯片主要是NXP.TI.瑞萨.联发科等厂商供货.不过,随着高通8155芯片的上车,买车认准高通8155成为车市的"网红级"配置. ...
最新文章
- 刷题:二叉树的非递归遍历方式
- Linux C编程--进程介绍2--exec函数
- 实现做出html的上标以及下标
- python保存到txt_python 如何将数据写入本地txt文本文件的实现方法
- C#在WinForm中打开控制台显示
- C++ 三种继承方式
- mysql使用substring_index达到splite功能
- 解压出来的文件md5会改变吗_监控Linux文件变化,防止系统被黑
- Systrace分析app启动分析
- HFSS15.0 安装破解说明
- 好程序员Java教程分享javaweb框架
- win7电脑屏幕亮度怎么调节
- 新版火狐浏览器安装Flash组件,解决部分网站视频无法观看问题
- 基于CST电磁仿真软件的波导弯头设计
- 屏幕尺寸、分辨率、像素、PPT解释及其关系
- 30年时间让科技与人对话,什么是机器人语音识别原理
- 在线端口检查工具 Online IP TCP UDP port scan
- 认识V模型,W模型,H模型三类模型
- 1170. 比较字符串最小字母出现频次
- mysql中sql中统计结果四舍五入保留两位小数