MTK sensor 移植调试

MTK sensor 移植调试指南
一 AP侧介绍
1、Linux传感器驱动接口介绍
MTK内核常用传感器接口及移植指南
1.1.1 MTK传感器通用层介绍
公共层的目的是简化移植工作。另一方面,公共层与MTK HAL之间的通信采用了MTK专用接口(BIO管道),比输入事件高效得多。
在这里插入图片描述

1.1.2 公共层接口介绍
下一部分介绍了如何使用常用的API,并以加速度计为例。ap由两个头文件提供1. Accel.h,为Android层提供数据流和控制流API 2. Acc_factory.h,为MTK工厂模式提供数据流和控制流的API。
在这里插入图片描述

在这里插入图片描述

传递给API的结构可以引用已经实现的驱动程序。
在这里插入图片描述

1.1.3 计步器
本节介绍了基于acc自带的加速度计,如何访问计步器数据。可以引用下面文件夹中的接口,类似于前面介绍的acc公共接口。

在这里插入图片描述

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c52669a301cd443da910ce4a4ae67421.pn
2、 Msensor lib porting guide
2.1.1 Archetecture
MTK HAL根据客户的不同需求提供第三方算法接口。客户可能希望在本地层实现融合、虚拟陀螺等一系列算法。MTK HAL架构如下:
在这里插入图片描述

Msensor lib与MTK lib的通信如下:
在这里插入图片描述

2.1.2 Mag lib interface introduction
Vendor/mediatek/proprietary/hardware/sensor/sesnors-1.0/include/mag_calibtation_lib.h

如果想保存一些参数,你可以将其写入mnt/vendor/nvcfg/sensor/xxx,当手机重启时,你也可以从你保存的文件中读取参数例如:/mntvendor/nvcfg/sensor/yamaha.txt
在这里插入图片描述

2.2 Porting Guid
1、将msensor源码和lib放在下面的文件夹:
vendor/mediatek/proprietary/hardware/libsensor
在这里插入图片描述

2、device/mediatekprojects/&project/ProjectConfig.mk Or device/mediateksample/&project/ProjectConfig.mk
在这里插入图片描述

3、vendor/mediatek/proprietary/hardware/libsensor/akl/Android.mk
在这里插入图片描述

4、vendor/mediatek/proprietary/hardware/sensor/sensor-1.0/Android.mk
在这里插入图片描述

Build sensor.&project.so auto link libakl.so
5、vendor/mediatek/proprietary/hardware/sensor/sensor-1.0/VendorInterface.cpp
在这里插入图片描述

6、lib interface,路径如下:
vendor/mediatek/proprietary/hardware/sensor/sensor-1.0/include/mag_calibtation_lib.h
在这里插入图片描述

接口实现在libxxx.so库中,路径:vendor/mediatek/proprietary/hardware/libsensor/xxx
在这里插入图片描述

7 设置以下宏到vendor/mediatek/proprietary/custom/{project}/hal/sensors/sensor/hwmsen custom.h

在这里插入图片描述

8 如果系统版本是Android P需要做如下修改:

1)更改akm09918驱动程序,使用akm作为库名
在这里插入图片描述

2)更新vendor/mediatek/proprietary/custom/$project/hal/sensors/sensor/hwmsen custom.c
在这里插入图片描述

  1. 更新device/Huawei/Sproject/Project Config.mk
    在这里插入图片描述

2.3 Sensor校准接口
MTK提供了Android APP可以使用的校准接口,现在支持ACC和gyro校准,接近阈值校准。MTK提供了工程模式APK作为使用这些appls . itw的示例
2.3.1 使用adb命令校准acc和gyro:
1、adb root
2、adb shell
3、Acc 校准:cd sys/bus/platform/drivers/gsensor
gyro校准:cd sys/bus/platform/drivers/gyroscope
4 执行校准命令前,先平放机器:echo 1 > test_cali
如果Android P版本,校准数据会保存到 mnt/vendor/nvcfg/sensor/
5、检查校准结果:
在这里插入图片描述

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

baidu_37552881

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值