multi-hal :多个 hal 层.
高通 sensor 一般是挂在 ADSP 那边,但是,有些时候 想把 sensor 驱动放入到 kernel 那边,这个时候 就要用到 multi-hal 功能呢, 高通平台这个功能默认是打开的。
在BoardConfig.mk中打开mutil-hal
USE_SENSOR_MULTI_HAL := true
步骤1: 找 FAE 那边拿相关的驱动,放入到内核中去
步骤2: 配置相关的 dts
步骤3: 实现相应的 sensor-hal . (供应商会提供更好,没有的话,这个会很痛苦,后面看下这个主要是实现了什么),并且编译出 so 库。比如:sensors.hal.nemesis.so
步骤4:
hals.conf配置文件中添加动态库:
hals.conf:
把 so 打包进 系统
vendor/qcom/nemesis / nemesis.mk:
c
# Build sensors-hal with multi-hal interface
PRODUCT_PACKAGES += \
sensors.hal.nemesis
# Copy multi-hal config file
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/multi-hal/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf
步骤5:selinux 相关的权限