android에 gsensor 드라이브를 추가하는 방법 확인(MMA7660)

시스템은 원래 BOSCH_를 썼어요.BMA222의 gsensor는 현재 MMA7660을 사용하도록 요구합니다. 구동과 디버깅 과정을 어떻게 늘리는지 보겠습니다.1. Makefie를 수정하려면 먼저 드라이브를 설치한 디렉터리에 있는 Makefile(kernel/driver/misc)을 수정하고 다음과 같은 문장을 추가합니다

obj-$(CONFIG_SENSORS_MMA7660)   += mma7660.o 
2. 드라이브 파일을 추가하여 드라이브 파일 mma7660.ckernel/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
&nbsp; > 1. MPU version < v3.4.0 (MPU_PRE_V340)
&nbsp;&nbsp;&nbsp; 2. MPU version >= v3.4.0 (MPU_NEW)
&nbsp; choice[1-2]: 1
&nbsp; BOSCH BMA222 acceleration sensor (BOSCH_SENSOR) [N/m/y/?] (NEW) N
&nbsp; *
&nbsp; * Miscellaneous I2C Chip support
&nbsp; *
&nbsp; BMA222 acceleration sensor support (BOSCH_BMA222) [N/m/y/?] (NEW) N
#
# configuration written to .config
&nbsp;
이때 컴파일링 출력을 보면 시스템은 mma7660을 컴파일하지 않았습니다.c, 그리고 번역 후.config의 MMA7660의 매크로도 덮어쓰기 때문에 마운트할 수 없습니다.이 오류가 발생한 이유는 make를 할 때 각 Kconfig 파일을 검사하고 없는 옵션이 자동으로 떨어지기 때문에 Kconfig 파일을 수정해야 하기 때문입니다.5. kernel/driver/misc/Kconfig 수정, menuconfig MISC_장치에 다음과 같이 추가됩니다

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
6. 여기에 gsensor는 i2c의 외부 연결이기 때문에, 시스템이 장치를 찾을 수 있도록 판자의 i2cdevice 정보를 수정해야 합니다.수정판의 자원 파일 (저의 특례는./arch/arm/mach-meson3/board-m3-reff24.c), 구조aml_i2c_bus_info_1[]에 정보를 추가합니다

#ifdef CONFIG_SENSORS_MMA7660
       {
                I2C_BOARD_INFO("mma7660", 0x4C),
                .irq = INT_GPIO_2,
        },
#endif
7. 다시 컴파일하면 드라이브가 컴파일됩니다.

좋은 웹페이지 즐겨찾기