联发科 (MTK) sensor bring up
MT6768平台
1.添加驱动文件
路径:vendor\mediatek\proprietary\tinysys\freertos\source\middleware\contexthub\MEMS_Driver\alsps
驱动.c 驱动.h (以stk3321.c stk3321.h为例)
2.添加硬件配置支持
路径:
vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/mt6768/P98980AA1/ProjectConfig.mk
CFG_stk3321_SUPPORT = yes //修改内容
CFG_stk3321_SUPPORT = yes
CFG_CM36558_SUPPORT = yes
3.添加硬件配置
路径:
vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/mt6768(根据项目定)/P98980AA1/cust/alspscust_alsps.c
#ifdef CFG_STK3321_SUPPORT
{
.name = "stk3321", //驱动名字,以驱动代码的.c文件名为准
.i2c_num = 0, //使用i2c选0,spi选1
.i2c_addr = {0x48, 0}, //使用i2c时是i2c地址,使用spi时为0,即{0, 0}
.polling_mode_als = 1, //0为轮询,1为中断
.als_level = {0, 328, 861, 1377, 3125, 7721, 7767, 12621, 23062, 28430, 33274, 47116, 57694, 57694, 65535}, //光感采样值范围
.als_value = {0, 200, 320, 502, 1004, 2005, 3058, 5005, 8008, 10010, 12000, 16000, 20000, 20000, 20000, 20000}, //光感采样值经过算法获得的上报值范围。
.eint_num = 10, //中断脚
},
#endif
4.添加编译配置
路径:
vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/mt6768(根据项目定)/platform /feature_config/chre.mk
ifeq ($(CFG_STK3321_SUPPORT),yes)
C_FILES += $(SENDRV_DIR)/alsps/stk3321.c
endif //注意放到对应传感器支持位置
5.分配空间(非必要,当代码量超过当前空间大小时将会报错,根据报错log改大小即可。)
路径:
vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/mt6768(根据项目定)/platform/Setting.ini
alsps:*** //原有大小足够就不用改,反之跟着需求修改
6.兼容配置
路径:vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/mt6768(根据项目定)/P98980AA1/inc/overlay_sensor.h
#define OVERLAY2 \
OVERLAY_ONE_OBJECT(cm36558, cm36558) \
OVERLAY_ONE_OBJECT(stk3321, stk3321) //特别注意,”\”为连接符,必不可少。
路径:
vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/mt6768(根据项目定)/P98980AA1/cust/overlay/overlay.c
void alspsOverlayRemap(void)
{
ALSPS_OVERLAY_REMAP_START
ALSPS_OVERLAY_REMAP(cm36558);
ALSPS_OVERLAY_REMAP(stk3321);
ALSPS_OVERLAY_REMAP_END
return;
7.特殊情况 (下面这一步基本不用自己做,厂商提供的驱动代码都写好了,万一没有,可以自己加)
(FAE给的驱动有些许问题)
路径:
vendor/mediatek/proprietary/tinysys/freertos/source/middleware/contexthub/MEMS_Driver/alsps/stk3321.c
/*
#ifndef CFG_OVERLAY_INIT_SUPPORT
MODULE_DECLARE(stk3321, SENS_TYPE_ALS, stk3321Init);
#else
#include "mtk_overlay_init.h"
OVERLAY_DECLARE(stk3321, OVERLAY_WORK_02, stk3321Init);
#endif
*/
8.遇到的问题
- 添加硬件配置时,如果协议是spi时,误将”.i2c_num”改为“.spi_num“,没有”.spi_num“这种写法,是根据值来判断使用的是哪个协议。
- I2c地址写错,当时因为项目资料i2c通讯规格书上的i2c地址为0x46, 但是实际上该传感器的数据手册却是0x48,所以导致i2c通讯失败,改正后通讯成功。
(注:I2c通讯地址以IC数据手册为准) - scp空间不足报错,根据log更改空间大小后编译通过。
- 兼容配置时overlay_sensor.h里添加驱动名字后没有添加连接符,导致编译报错,查看平台其它自带传感器配置添加后编译通过。
- 修改中断脚后却不生效,删掉out目录后重编生效。
联发科 (MTK) sensor bring up的更多相关文章
- MTK 虚拟 sensor bring up (pick up) sensor2.0
pick up bring up sensor2.0 1.SCP侧的配置 (1) 放置驱动pickup.c (2) 添加底层驱动文件编译开关 (3) 加入编译文件 (4) 增加数据上报方式 (5)修改 ...
- MTK 虚拟 sensor bring up (pick up) sensor1.0
pick up bring up sensor1.0 1.pick up对比 2.SCP 1.添加驱动文件 2.添加编译环境(打开开关) 注:编译过程中如果显示内存不够 3.修改底层数据上报方式 3. ...
- 高通(QCOM)sensor bring up
高通7150平台 1.添加驱动文件 2.添加编译 3.配置json文件 4.高通默认配置 5.部分sensor外挂电源 6.遇到的问题 1.添加驱动文件 路径:adsp_proc/ssc/sensor ...
- MTK sensor 架构
mtk architactureAP和scp 两部分组成从上到下的整体的结构是 app -->framerwork-->native-->hal -->kernel --> ...
- MTK 平台sensor arch 介绍-scp
架构介绍 路径:vendor/mediatek/proprietary/tinysys/scp 1.[build]编译相关 2.[driver]scp 的driver,I2C,power,eint 3 ...
- 【转载】wifi一键配网smartconfig原理及应用
物联网给我们又提供了一种窃取WiFi密码的好方式:让智能设备主动断线. 同时也提供一种让智能设备连接到恶意WiFi的方式:设备一键配置功能时疯狂广播恶意WiFi的信息. 转自:http://blog. ...
- 06_android虚拟机介绍
分辨率不用选太高,否则会占用太大内存.你选高分辨率一跑起来会干掉你的500多MB的内存.1/8内存就没了.百分之97%或者是98%的设备都是ARM CPU.ARM自己不生产CPU,它生产的是一个标准的 ...
- MTK 平台sensor arch 介绍-hal
MTK 平台sensor arch 介绍-hal 一:整体框架 二:具体流程简介 AP-HAL: (1)init & control flow 我们以前文的originchannel 的 ac ...
- 浅谈Android高通(Qualcomm)和联发科(MTK)平台
一款CPU好不好是要从多个方面考虑的,并不是说简简单单看一个主频.几个核心数就完了,更重要的是它的综合实力到底有多强,这里面当然也会牵扯到价格问题,性能相似当然是便宜的获胜,这是毋庸置疑的. 事实上, ...
随机推荐
- Java/C++实现代理模式---婚介所
婚介所其实就是找对象的一个代理,请仿照我们的课堂例子"论坛权限控制代理"完成这个实际问题,其中如果年纪小于18周岁,婚介所会提示"对不起,不能早恋!",并终止业 ...
- Java/C++实现装饰模式---模拟手机功能的升级过程
用装饰模式模拟手机功能的升级过程:简单的手机(SimplePhone)在接收来电时,会发出声音提醒主人:而JarPhone除了声音还能振动:更高级的手机(ComplexPhone)除了声音.振动外,还 ...
- 判断H5页面是在小程序的webview环境中,还是在微信环境中,还是不在微信
<script src="https://res2.wx.qq.com/open/js/jweixin-1.6.0.js" type="text/javascrip ...
- 微信小程序拖动列表功能
WXML部分 1 <view class="index"> 2 3 <!-- 数据展示区 --> 4 <scroll-view 5 class=&qu ...
- 解决vue-cli项目在运行时控制台出现 [WDS] Disconnected! 错误
在项目运行时 控制台输入 npm run dev 后浏览器出现该项目页面,但是出现了[WDS] Disconnected!错误 虽然有时并不影响,但是作为一名合格的程序员 我们还是尽量将其修复,以免将 ...
- django开发前准备工作
安装pip(python包管理器,类似npm) 安装virtualenv(python虚拟环境,可以形成一个版本隔绝的文件夹) virtualenv使用方法 1,virtualenv project ...
- win11拖动窗口造成崩溃的问题
问题描述 拖动窗口,随机概率出现 屏幕闪烁 屏幕黑屏 屏幕瞬间分屏 解决方法 windowes11贴吧大神给的方案 1,按下 win键+R 输入 regedit 进入注册表,进入以下路径:计算机\HK ...
- kali下安装docker
前期准备 物理机:win10 虚拟机:kali 2021 网络连接方式:桥接 一.简介 Vulhub: 是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译.运行一个完整的漏洞 ...
- 【LeetCode】24.两两交换链表中的节点
24.两两交换链表中的节点 知识点:链表 题目描述 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 示例 示例 1 ...
- 【大学物理实验】01 单摆测重力加速度 的 g 计算代码
单摆测重力加速度 传统摆 (代码没保存,就截了个图) 研究单摆周期与摆长之间的关系 (依旧是g的计算) 我还不太会数据拟合