指南针-Memsic3280调试笔录
来源:互联网 发布:mac 身份不明 编辑:程序博客网 时间:2024/04/28 15:44
步骤:
(1)首先,mem3280是i2c设备,那么第一步查看芯片SPEC,确定好它的i2c地址(0x30)
(2)确定好地址后,在kernel/arch/arm/mach-vc0882/board-vortex.c文件中添加i2c设备信息:
1212 static struct i2c_board_info i2c_devs1[] = {
1213 #ifdef CONFIG_SENSOR_SSZ0304
1214 { I2C_BOARD_INFO("ssz0304-sensor", 0x55),},
1215 #endif
1216 #ifdef CONFIG_SENSOR_MMC3280
1217 { I2C_BOARD_INFO("mmc3280-sensor", 0x30),},
1218 #endif
……………………………………………………………………
(3)调试驱动使得i2c通,即可以读取数据。(驱动框架可参考其它i2c设备)
(4)i2c调通后,准备修改Android的HAL层,发现HAL对Sensors的处理是于input设备看待。
(5)那么得对驱动改为input设备(之前为简单的misc设备处理),这个过程也只要参考其它的input设备即可。
(6)现在得对HAL层处理,原来发现根本没有对指南针处理,什么都得自己添加,这个HAL既啰嗦又复杂。
(7)没办法,硬着头皮把HAL对Sensors的处理函数全部梳理一遍,把握整个逻辑。
备注:其中用到了两个测试程序:hardware\libhardware\tests\nusensors\nusensors.cpp
frameworks\base\services\sensorservice\tests\sensorservicetest.cpp
很重要的调试经验就是分析函数,多用LOGE printf打印调试信息,另外还要细心、耐心。
(1)首先,mem3280是i2c设备,那么第一步查看芯片SPEC,确定好它的i2c地址(0x30)
(2)确定好地址后,在kernel/arch/arm/mach-vc0882/board-vortex.c文件中添加i2c设备信息:
1212 static struct i2c_board_info i2c_devs1[] = {
1213 #ifdef CONFIG_SENSOR_SSZ0304
1214 { I2C_BOARD_INFO("ssz0304-sensor", 0x55),},
1215 #endif
1216 #ifdef CONFIG_SENSOR_MMC3280
1217 { I2C_BOARD_INFO("mmc3280-sensor", 0x30),},
1218 #endif
……………………………………………………………………
(3)调试驱动使得i2c通,即可以读取数据。(驱动框架可参考其它i2c设备)
(4)i2c调通后,准备修改Android的HAL层,发现HAL对Sensors的处理是于input设备看待。
(5)那么得对驱动改为input设备(之前为简单的misc设备处理),这个过程也只要参考其它的input设备即可。
(6)现在得对HAL层处理,原来发现根本没有对指南针处理,什么都得自己添加,这个HAL既啰嗦又复杂。
(7)没办法,硬着头皮把HAL对Sensors的处理函数全部梳理一遍,把握整个逻辑。
备注:其中用到了两个测试程序:hardware\libhardware\tests\nusensors\nusensors.cpp
frameworks\base\services\sensorservice\tests\sensorservicetest.cpp
很重要的调试经验就是分析函数,多用LOGE printf打印调试信息,另外还要细心、耐心。
- 指南针-Memsic3280调试笔录
- 指南针-Memsic3280调试笔录 (续)
- jvm调试笔录
- 指南针
- 指南针
- 指南针
- 指南针
- 指南针
- 指南针
- 指南针
- 笔录
- Javascript学习笔录17(Js调试的方法)
- 指南针 司南
- android 指南针
- android指南针
- android指南针
- Android 指南针
- IOS指南针
- 枚举
- [MS-TDS]: Tabular Data Stream Protocol Specification
- 扎克伯格成功的六大因素
- 几个算法测试题及答案
- 程序猿装B指南
- 指南针-Memsic3280调试笔录
- MySQL数据库导入到SQL Server
- 谈控制权:联合创始人Sean Parker为Facebook股权结构所做的双层设计
- 颜色搭配
- 科技时代,企业人士不可不知的5条原则
- Boost 1.48.0编译
- 80sec里面的小马
- Could not load file or assembly 'System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, Public
- Java中使用hql,sql查询--多表查询后的新实体构建方法详解