高通MSM8909 Mutil-HAL Sensor 调试

firgure 1

Mutil-HAL的介绍:

Sensors Multi-HAL 是一个框架,允许传感器 HAL 与其他传感器 HAL 一起运行。 Sensors Multi-HAL 动态加载作为动态库存储在供应商分区上的传感器子 HAL,并为它们提供一个回调对象,该对象可以处理发布事件以及获取和释放唤醒锁。传感器子 HAL 是内置于供应商分区上的共享对象中并由多 HAL 框架使用的传感器 HAL。这些子 HAL 不相互依赖,也不依赖于包含进程主要功能的多 HAL 代码。

不管是在MSM8909,MSM8953,QCM6125,QCM2290,还是Native Sensor,SSC Sensor,SEE Sensor,高通在AP侧都使用了Mutil-HAL框架,而非Android原生的1.0 sensor service,因此你可以通过厂家提供sensor hal驱动还是adsp 驱动来决定将sensor挂载到AP侧或者CP侧。

在MSM8909中,高通自己实现了native sensor hal,我们可以将供应商提供的代码自己整合到native sensor hal中来实现sensor数据透传。但是有些供应商提供了一套完整的sensor hal代码,这时就需要使用厂家提供的hal 层挂入mutil-hal框架。

配置multi-hal
1、在BoardConfig.mk中打开mutil-hal
USE_SENSOR_MULTI_HAL := true

2、在device///sensors/hals.conf配置文件中添加动态库
sensors.ssc.so
+sensors.msm8909go.so

注:sensor.ssc.so是高通的native sensor,sensor.msm8909go.so是供应商提供的sensor。

其他说明:
这里需要注意不同供应商需要不同的selinux权限,不同的设备节点权限,因此请自行将te添加到system/sepolicy/vendor和system/core/rootdir/init.rc

如果本文对你有帮助,请不要吝啬你的赞!转载请务必注明来源!

PYPYN.COM 版权所有