MTK平台Sensor Bring Up

Posted bobuddy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MTK平台Sensor Bring Up相关的知识,希望对你有一定的参考价值。

sensor的img位于scp.img

9.1、在成熟的平台Bring Up

在已知的平台上驱动并验证一个器件是很常见的工作。因为管脚等基本不需要重新配置。所以只需要按照一般步骤驱动即可。驱动代码位置:

vendor/mediatek/proprietary/tinysys/freertos/source/middleware/contexthub/MEMS_Driver/accGyro/

生成.o文件位置:

out/target/product/****/obj/TINYSYS_OBJ/tiny-scp_inermediates/freertos/source/CM4_A/middleware/contexthub/MEMS_Driver/accGyro

首先将驱动代码的.c文件放入驱动代码位置。之后修改下面说明的几个位置:

9.1.1、添加CFG_SENSOR_SUPPORT

vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/****/****/projectConfig.mk

添加

CFG_SC7A20_SUPPORT = yes

9.1.2、添加器件总线和其他信息

vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/****/****/cust/accGyro/cust_accGyro.c

添加

#ifdef CFG_SC7A20_SUPPORT

{

.name = "sc7a20",

.i2c_num = 0;

.i2c_addr = {0x18, 0},

.direction = 3,

.eint_num = 12,

}

如果Sensor使用的是I2C,不管硬件上对应I2C总线几,此处i2c_num要写0,因为在这个平台下SensorHub侧只有一个I2C。如果是SPI总线,写成下面这个样子:

.i2c_num = 1;

.i2c_addr = {0, 0},

至少包含name、i2c总线、i2c地址就可以被驱动正常读取。

9.1.3、overlay

vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/****/****/inc/overlay_sensor.h

添加

#define OVERLAY0 \\

OVERLAY_ONE_OBJECT(sc7a20, sc7a20)

vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/****/****/cust/overlay/overlay.c

添加

ACC_GYRO_OVERLAY_REMAP(sc7a20);

9.1.4、驱动编译

vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/****/****/platform/feature_config/chre.mk

添加

ifeq($(CFG_SC7A20_SUPPORT),yes)

C_FILES += $(SENDRV_DIR)/accgyro/sc7a20.c

endif

9.2、Sensor驱动调试

9.2.1、加速度方向调试

于加速度和磁传感器,方向是一个很重要的参数:这是一个0~7的整数数据由于这两种Sensor都有x y z三个轴,每个轴都有正负两种情况,2^3=8,所以±x ±y ±z共有8种组合。最直接的方法是把0~7这8个数值都试一遍,看哪个结果正确就用哪个数值。

9.2.2、eint_num

中断号,这里某些Sensor会提供一个中断脚,来通知主机数据准备完毕。此处中断号直接填写这个Sensor所使用的中断管脚号即可。

9.2.3、地磁三方库的所在位置

# add for Msensor

PRODUCT_COPY_FILES += device/mediatek/****/ThirdParty/mmc5603nj_lib/32bit/libmemsic.so:$(TARGET_COPY_OUT_VENDOR)/lib/libmemsic.so

# end for Msensor

以上是关于MTK平台Sensor Bring Up的主要内容,如果未能解决你的问题,请参考以下文章

高通Cam-X平台 Camera移植

MTK平台是啥

MTK sensor调试日志

mtk平台手机都有啥快捷指令

MTK Sensor越界导致的系统重启问题分析报告

MTK(6737)平台wifi、省晶体总结