解析如何在android中增加gsensor驱动(MMA7660)
更新时间:2013年06月15日 15:42:05 投稿:jingxian
本篇文章是对在android中增加gsensor驱动(MMA7660)进行了详细的分析介绍,需要的朋友参考下
系统原来用的是BOSCH_BMA222的gsensor, 现在要求换成使用MMA7660,我们来看一下怎样增加驱动和调试过程。
1. 修改Makefie
首先,修改放置驱动的目录里的Makefile(kernel/driver/misc),添置如下语句:
复制代码 代码如下:
obj-$(CONFIG_SENSORS_MMA7660) += mma7660.o
2. 增加驱动文件
把驱动文件mma7660.c添加到kernel/driver/misc下。
3. 修改.config文件,把下面两行注释掉
复制代码 代码如下:
# CONFIG_BOSCH_SENSOR=y
# CONFIG_BOSCH_BMA222=y
再增加下面这项
复制代码 代码如下:
CONFIG_SENSORS_MMA7660=y
编译,显示提示:
复制代码 代码如下:
make uImage -j16
scripts/kconfig/conf -s arch/arm/Kconfig
*
* Restart config...
*
*
* Misc devices
*
Misc devices (MISC_DEVICES) [Y/n/?] y
Analog Devices AD525x Digital Potentiometers (AD525X_DPOT) [N/m/y/?] n
Android pmem allocator (ANDROID_PMEM) [N/y] n
Integrated Circuits ICS932S401 (ICS932S401) [N/m/y/?] n
Enclosure Services (ENCLOSURE_SERVICES) [N/m/y/?] n
Kernel Debugger Core (KERNEL_DEBUGGER_CORE) [N/y/?] n
Intersil ISL29003 ambient light sensor (ISL29003) [N/m/y/?] n
Taos TSL2550 ambient light sensor (SENSORS_TSL2550) [N/m/y/?] n
Dallas DS1682 Total Elapsed Time Recorder with Alarm (DS1682) [N/m/y/?] n
Texas Instruments DAC7512 (TI_DAC7512) [N/m/y/?] n
UID based statistics tracking exported to /proc/uid_stat (UID_STAT) [Y/n] y
Bluetooth power control driver for TI wl127x (WL127X_RFKILL) [N/m/y/?] n
Android kernel panic diagnostics driver (APANIC) [N/y/?] n
6 Axis sensor mpu3050 (SIX_AXIS_SENSOR_MPU3050) [N/y] n
Motion Processing Unit driver version
> 1. MPU version < v3.4.0 (MPU_PRE_V340)
2. MPU version >= v3.4.0 (MPU_NEW)
choice[1-2]: 1
BOSCH BMA222 acceleration sensor (BOSCH_SENSOR) [N/m/y/?] (NEW) N
*
* Miscellaneous I2C Chip support
*
BMA222 acceleration sensor support (BOSCH_BMA222) [N/m/y/?] (NEW) N
#
# configuration written to .config
这时看编译输出,系统没有编译mma7660.c, 而且编译后.config的MMA7660的宏也被覆盖掉了,所以这样是没有办法挂载的。之所以出现这个错误的原因,是因为make的时候会检查各个Kconfig文件,没有的选项会自动率掉,所以,我们还需要修改Kconfig文件。
5. 修改kernel/driver/misc/Kconfig,在menuconfig MISC_DEVICES下添加如下:
复制代码 代码如下:
config SENSORS_MMA7660
tristate "MEMSIC Accelerometer Sensor MMA7660 Driver Support"
depends on I2C
help
If you say yes here you get support for the MEMSIC accelerometer sensor
复制代码 代码如下:
#ifdef CONFIG_SENSORS_MMA7660
{
I2C_BOARD_INFO("mma7660", 0x4C),
.irq = INT_GPIO_2,
},
#endif
7. 再进行编译,驱动就被编译了。
相关文章
Android TextSwitcher实现文字上下翻牌效果(铜板街)
这篇文章主要介绍了Android TextSwitcher实现文字上下翻牌效果(铜板街),需要的朋友可以参考下2017-05-05
Android开发Jetpack组件Lifecycle原理篇
这一篇文章来介绍Android Jetpack架构组件的Lifecycle; Lifecycle用于帮助开发者管理Activity和Fragment 的生命周期, 由于Lifecycle是LiveData和ViewModel的基础;所以需要先学习它2022-08-08
Android点击EditText文本框之外任何地方隐藏键盘的解决办法
这篇文章主要介绍了Android点击EditText文本框之外任何地方隐藏键盘的解决办法,非常不错,具有参考借鉴价值,需要的朋友可以参考下2017-01-01
Android RecyclerView添加上拉加载更多功能
这篇文章主要为大家详细介绍了Android RecyclerView如何添加上拉加载更多功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-10-10
android byte[] 和short[]转换的方法代码
这篇文章主要介绍了android byte[] 和short[]转换的方法代码,有需要的朋友可以参考一下2014-01-01
Android Studio实现带三角函数对数运算功能的高级计算器
这篇文章主要为大家详细介绍了Android Studio实现带三角函数对数运算功能的高级计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-05-05


最新评论