MTK 安卓11 传感器兼容 陀螺仪42607-p
处于成本或多样性考虑,经常需要新增传感器进行兼容,本次以陀螺仪icm42607-p型号进行分析
1.如果平台或项目首次使用该传感器,需要添加传感器驱动文件(FAE提供),如果已经存在,直接进行下一步:
文件存放路径:
vendor\mediatek\proprietary\tinysys\freertos\source\middleware\contexthub\MEMS_Driver\accGyro\icm4n607.c
2.新增陀螺仪i2c接口、方向、地址及中断号进行配置;
mt6771:项目平台 lv973:项目名
文件路径:
vendor\mediatek\proprietary\tinysys\freertos\source\project\CM4_A\mt6771\lv973\cust\accGyro\cust_accGyro.c
#include "cust_accGyro.h"struct accGyro_hw cust_accGyro_hw[] __attribute__((section(".cust_accGyro"))) = {#ifdef CFG_ICM2060X_SUPPORT{.name = "icm2060x",.i2c_num = 1,.direction = 2,.i2c_addr = {0x68, 0},.eint_num = 4,},
#endif
#ifdef CFG_FIS210X_SUPPORT{.name = "fis210x",.i2c_num = 1,.direction = 2,.i2c_addr = {0x6a, 0x6b},.eint_num = 4,},
#endif
#ifdef CFG_ICM4X607_SUPPORT{.name = "icm4n607",.i2c_num = 1,.direction = 2,.i2c_addr = {0x68, 0},.eint_num = 4,},
#endif
};
查看项目配置文件可知,兼容前使用ICM2006X传感器,其中i2c_num,direction,eint_num可以完全照搬icm2006x的配置,宏定义和name进行修改,i2c_addr可以查看其他平台的配置地址或查看芯片手册获取;
3.添加overlay配置
文件路径:
vendor\mediatek\proprietary\tinysys\freertos\source\project\CM4_A\mt6771\lv973\cust\overlay\overlay.c
void accGyroOverlayRemap(void)
{
ACC_GYRO_OVERLAY_REMAP_STARTACC_GYRO_OVERLAY_REMAP(icm2060x);ACC_GYRO_OVERLAY_REMAP(icm4n607);
ACC_GYRO_OVERLAY_REMAP_ENDreturn;
}
文件路径:
vendor\mediatek\proprietary\tinysys\freertos\source\project\CM4_A\mt6771\lv973\inc\overlay_sensor.h
/*****************************************************************************
* Overlay0: ACCGYRO
*****************************************************************************/
#define OVERLAY_SECTION_ACCGYRO \OVERLAY_ONE_OBJECT(icm2060x, icm2060x) \OVERLAY_ONE_OBJECT(icm4n607, icm4n607)
#ifdef OVERLAY_SECTION_ACCGYRO
#define OVERLAY0 OVERLAY_SECTION_ACCGYRO
#else
#define OVERLAY0
#endif // OVERLAY_SECTION_ACCGYRO
4.在项目的配置文件中进行配置;
文件路径:
vendor\mediatek\proprietary\tinysys\freertos\source\project\CM4_A\mt6771\lv973\ProjectConfig.mk
CFG_ACCGYRO_SUPPORT = yes
CFG_LSM6DS3_SUPPORT = no
CFG_LSM6DSM_SUPPORT = no
CFG_BMI160_SUPPORT = no
CFG_LIS3DH_SUPPORT = no
CFG_LIS2HH12_SUPPORT = no
CFG_FIS210X_SUPPORT = no
CFG_ICM2060X_SUPPORT = yes
CFG_ICM4X607_SUPPORT = yes
5.如果平台首次使用该传感器,需要将文件添加到编译链接中;
文件路径:
vendor\mediatek\proprietary\tinysys\freertos\source\project\CM4_A\mt6771\platform\feature_config\chre.mk
ifeq ($(CFG_FIS210X_SUPPORT),yes)
C_FILES += $(SENDRV_DIR)/accGyro/fis210x.c
endif
ifeq ($(CFG_ICM2060X_SUPPORT),yes)
C_FILES += $(SENDRV_DIR)/accGyro/icm2060x.c
endif
ifeq ($(CFG_ICM4X607_SUPPORT),yes)
C_FILES += $(SENDRV_DIR)/accGyro/icm4n607.c
endif
ifeq ($(CFG_MIR3DA_SUPPORT),yes)
C_FILES += $(SENDRV_DIR)/accGyro/mir3da.c
CFLAGS += -DCFG_ACC_NO_FIFO
endif
endif
如果感觉文章有用请给博主点个赞
MTK 安卓11 传感器兼容 陀螺仪42607-p相关推荐
- 真我realme V11realmeQ3I root解锁BL 刷magisk MTK 安卓11 root教程 救砖
真我 realme V11 realmeQ3I root 刷magisk MTK 安卓11 root教程 救砖 OPPO mtk系列 安卓11 用magisk root后 会反复重启 无法开机 现在 ...
- MTK 安卓11 lcm AVDD及AVEE值修改
通常情况下lcm的avdd默认5.4v,某些屏幕对avdd要求不同,需要进行修改 驱动程序路径: kernel-4.14/drivers/misc/mediatek/lcm/lcm_pmic.c in ...
- 安卓传感器全解:注册、注销传感器、监听传感器,距离传感器、方向传感器、陀螺仪、加速计、磁场、气压传感器
全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓传感器全解:注册.注销传感器.监听传感器.距离传感器.方向传感器.陀螺仪.加速计.磁场.气压传感器. 注册.注销.监听传感器 1.自定义传感器监听 ...
- 安卓各种传感器的使用
这段时间研究安卓上的各种传感器,然后这里做个总结 1.加速度传感器 2.磁场传感器 3.方向传感器 4.陀螺仪传感器 5.重力传感器 6.线性加速度传感器 7.温度传感器 8.光线传感器 9.距离传感 ...
- android 彩蛋 miui,MIUI12最新更新,安卓11彩蛋终于出现,流畅度提升
原标题:MIUI12最新更新,安卓11彩蛋终于出现,流畅度提升 经过了几天连续推迟,基于安卓11 beta3的MIUI12终于更新,版本号为MIUI12 20.8.20,此次更新系统整体体验提升明显, ...
- 现在更新鸿蒙会成为小白鼠吗,安卓11.0被停用,鸿蒙OS即将登上,花粉:宁愿当小白鼠...
原标题:安卓11.0被停用,鸿蒙OS即将登上,花粉:宁愿当小白鼠 众所周知华为发布鸿蒙系统已有大半年时间,根据该系统微内核升级计划,再过几个月,鸿蒙2.0版本就要正式发布,到时候部分安卓系统内核将全部 ...
- 鸿蒙系统剽窃,外媒再爆猛料!质疑华为鸿蒙系统抄袭:被指山寨谷歌安卓11系统...
[12月27日讯]导语:在2020年12月16日,华为鸿蒙OS 2.0系统手机开发Bate版本,让网友们以及开发者们都可以更加清晰的了解认知到华为鸿蒙OS系统中的分布式操作系统.微内核研发等特征以及优 ...
- android11开发版小米,小米CC9推送MIUI 12.5稳定版 新版系统内核升级至安卓11
小米 CC9 今日正式推送 MIUI 12.5 稳定版.这款手机于 2019 年发布,搭载高通骁龙 710 处理器,特点为后置 4800 万像素主摄,主打拍照. 小米 CC9 新系统版本号为 MIUI ...
- 安卓11上的存储权限问题
这篇文章,想来发布的有些晚了,安卓11已经发布多时了,关于安卓11上的存储权限变更的文章数不胜数,所以这篇文章只做为自己的一个简单的记录吧! 在说11之前,我们先回忆以下10上存储权限的变更:每个应用 ...
最新文章
- 【JavaSE02】Java基本语法-思维导图
- addView的误区
- 多线程基础-实现多线程的两种方式(二)
- 数模笔记_单变量最优化
- 基于MTD的NAND驱动开发(二)
- WebScarab使用说明
- cocos2d-x JS 重力感应监听事件
- 亿级流量系统架构之如何支撑百亿级数据的存储与计算
- android studio或者IntelliJ代码样式的设置
- 深入理解Nginx~文件路径的定义
- 欧派caxa设计软件_CAXA软件三维设计的基本使用方法
- 梦幻服务器最新开服时间,梦幻服务器开区及合服时间汇总查询(2)
- zen cart template zencart模板修改
- 转载 电子工程师的程序人生历程
- php 分页样式定制,Laravel自定义分页样式
- 网吧局域网里的设置外网IP地址、设置内网IP地址、限制内网速度和路由器共享...
- 计世独家:新加坡国家网格雏形已现
- VLC播放器截图保存位置
- 史上最详细的DOM事件之拖动事件
- Qt网络编程:QSslCertificate(SSL证书)