指南针-Memsic3280调试笔录

步骤:
(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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值