立即注册
查看: 3712|回复: 41

[展讯开发资料] 展讯平台Android 10.0 SensorHub客制化指导手册

已绑定手机
发表于 2021-7-13 15:48:48 | 显示全部楼层 |阅读模式 来自 广东省深圳市
1、SensorHub代码结构介绍
AP:
SensorHub HAL层代码
路径:vendor/sprd/modules/sensors/lIBSensorhub
HAL层实现Android定义的标准Sensors HAL接口、Sensor特性参数配置、接口定义配置。

SensorHub kernel层代码
路径:bsp/kernel/kernel4.14/drivers/iio/sprd_hub
Kernel层代码主要负责将HAL层下发命令及Sensor配置参数传递给CM4,将CM4反馈的信息及上报的Sensor事件传递给HAL层。

SP:
SensorHub CM4代码
Sensor驱动架构及Sensor Hub算法放置在CM4侧。目前代码闭源,仅提供bin文件供客户直接打包使用,bin文件为sharkl3_cm4.bin
说明:
对于大多数sensor,用户只需在board配置下,增加sensor类型配置、HAL层增加sensor特性参数配置文件和接口定义配置即可。对于难于兼容的sensor,目前CM4系统留出sensor驱动调用接口,可以使用动态加载方式加载sensor驱动。这时需要用DS-5编译器,编译动态加载文件。目前地磁sensor由于需要sensor厂商提供磁校准算法库,所以全部需要动态加载方式来添加。

2、SensorHub客制化步骤
本章节以SC9863A工程为例对SensorHub客制化进行说明。
1.配置Sensor型号
路径:device/sprd/sharkl3/(工程名)/BoardConfig.mk
示例:
SENSOR_HUB_ACCELEROMETER := icm20600
SENSOR_HUB_GYROSCOPE := icm20600
SENSOR_HUB_LIGHT := ltr553als
SENSOR_HUB_MAGNETIC := akm09918
SENSOR_HUB_PROXIMITY := ltr553iwhale2
SENSOR_HUB_PRESSURE := null
SENSOR_HUB_CALIBRATION := sp9863a
说明:
• 最后一行CALIBRATION为校准文件名,可以自行命名。
• 赋值null表示不支持此类型sensor。
• 同类型sensor,如需兼容多个型号,型号以空格隔开,如加速度计需同时兼容bmi160和icm20600,则按如下配置:SENSOR_HUB_ACCELEROMETER := bmi160 icm20600

2.配置Sensor类型
路径:device/sprd/sharkl3/s9863a1h10/s9863a1h10_Base.mk
示例:
Frameworks/native/data/etc/android.hardware.sensor.proximity.xml(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
frameworks/native/data/etc/android.hardware.sensor.light.xml(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
说明:根据需要配置的Sensor类型添加相应的代码行。

3.HAL层增加对应Sensor特性参数配置文件
在以下路径中增加(Sensor类型)_(Sensor型号).cpp文件。
路径:vendor/sprd/modules/sensors/libsensorhub/ConfigSensor/(sensor类型)目录增加(sensor类型)_(sensor型号).cpp文件
示例:
以s9863a1h10工程添加加速度计icm20600为例,增加下述文件。
vendor/sprd/modules/sensors/libsensorhub/ConfigSensor/accelerometer/accelerometer_icm20600.cpp
说明:
• Sensor型号需与BoardConfig配置中相同,其他Sensor与此类似。
• 另外需要在calibration文件夹增加此工程的calibration文件calibration_sp9863a.cpp,sp9863a为BoardConifgSENSOR_HUB_CALIBRATION 的值。

更多详细内容请下载附件查看
游客,如果您要查看本帖隐藏内容请回复
已绑定手机
发表于 2021-7-13 22:12:36 | 显示全部楼层 来自 湖南省长沙市
谢谢分享!
已绑定手机
发表于 2021-7-16 09:14:29 | 显示全部楼层 来自 上海市浦东新区
我想下載
已绑定手机
发表于 2021-7-23 10:28:46 | 显示全部楼层 来自 广东省深圳市
谢谢分享!!!!
已绑定手机
发表于 2021-9-6 11:30:34 来自手机 | 显示全部楼层 来自 上海市
谢谢分享
已绑定手机
发表于 2021-9-7 11:22:41 | 显示全部楼层 来自 台湾省
謝謝分享 !!
已绑定手机
发表于 2021-9-7 15:07:40 | 显示全部楼层 来自 湖南省长沙市
6666666666666666666666666666
发表于 2021-10-6 16:03:33 | 显示全部楼层 来自 上海市
谢谢分享
已绑定手机
发表于 2021-10-14 11:36:33 | 显示全部楼层 来自 湖南省长沙市
感谢分享
已绑定手机
发表于 2021-10-19 14:16:19 | 显示全部楼层 来自 上海市
正好需要,感谢楼主
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表