1. Introducción al medio ambiente
La placa base RK3588 está equipada con el sistema operativo Android12, el kernel es Linux5.10 y utiliza el chip LSM6DSR del sensor de seis ejes de ST.
2. Introducción del chip
El LSM6DSR es un sensor de aceleración y velocidad angular (giroscopio) de seis ejes que también tiene un sensor de temperatura incorporado. Este chip puede elegir I2C, comunicación SPI, así como terminales programables, y puede equiparse con cámaras traseras y otros equipos, las funciones son muy potentes (si estás interesado, puedes leer la hoja de datos). El fabricante del chip original reveló los controladores de entrada e iio y HAL. Yo elegí el controlador iio aquí, por lo que HAL también eligió el controlador iio.
3. Trasplante de conductor
[android12-linux-5.1][chip ST][RK3588][LSM6DSR] Trasplante de controlador__Blog de Huahua-blog CSDN
4. Trasplante HAL
[android12-linux-5.1][chip ST][RK3588][LSM6DSR] Trasplante HAL__blog de Huahua-blog CSDN
5. Estructura del código fuente
1. Estructura general del paquete
2. Estructura del código fuente
2022/04/29 17:12 6,971 Accelerometer.cpp
2022/04/29 17:12 1,532 Accelerometer.h
2022/04/29 17:12 8,555 Android.mk
2022/04/29 17:12 3,184 android_KK_defconfig
2022/04/29 17:12 3,227 android_L_defconfig
2022/04/29 17:12 3,227 android_M_defconfig
2022/04/29 17:12 3,227 android_N_defconfig
2022/04/29 17:12 3,296 android_O_defconfig
2022/04/29 17:12 3,356 android_P_defconfig
2022/04/29 17:12 3,398 android_Q_defconfig
2022/04/29 17:12 3,386 android_R_defconfig
2022/04/29 17:12 1,782 ChangeODRTimestampStack.cpp
2022/04/29 17:12 1,407 ChangeODRTimestampStack.h
2022/04/29 17:12 3,903 CircularBuffer.cpp
2022/04/29 17:12 1,563 CircularBuffer.h
2022/04/29 17:12 3,695 common_data.h
2022/04/29 17:12 1,496 DeviceOrientation.cpp
2022/04/29 17:12 1,191 DeviceOrientation.h
2022/04/29 17:12 2,453 DynamicSensorProxy.cpp
2022/04/29 17:12 1,680 DynamicSensorProxy.h
2022/04/29 17:12 1,882 FlushBufferStack.cpp
2022/04/29 17:12 1,425 FlushBufferStack.h
2022/04/29 17:12 1,223 FlushRequested.cpp
2022/04/29 17:12 1,263 FlushRequested.h
2022/04/29 17:12 1,848 Gesture.cpp
2022/04/29 17:12 1,264 Gesture.h
2022/04/29 17:12 7,439 Gyroscope.cpp
2022/04/29 17:12 1,776 Gyroscope.h
2022/04/29 17:12 27,339 HWSensorBase.cpp
2022/04/29 17:12 4,279 HWSensorBase.h
2022/04/29 17:12 6,015 Magnetometer.cpp
2022/04/29 17:12 1,540 Magnetometer.h
2022/04/29 17:12 1,701 Pressure.cpp
2022/04/29 17:12 1,116 Pressure.h
2022/04/29 17:12 1,759 RHumidity.cpp
2022/04/29 17:12 1,132 RHumidity.h
2022/04/29 17:12 10,134 RingBuffer.cpp
2022/04/29 17:12 2,393 RingBuffer.h
2022/04/29 17:12 2,986 SelfTest.cpp
2022/04/29 17:12 1,285 SelfTest.h
2022/04/29 17:12 1,869 SensorAdditionalInfo.cpp
2022/04/29 17:12 1,524 SensorAdditionalInfo.h
2022/04/29 17:12 22,098 SensorBase.cpp
2022/04/29 17:12 8,760 SensorBase.h
2022/04/29 17:12 106,872 SensorHAL.cpp
2022/04/29 17:12 6,754 SensorHAL.h
2022/04/29 17:12 1,769 SignificantMotion.cpp
2022/04/29 17:12 1,205 SignificantMotion.h
2022/04/29 17:12 3,137 StepCounter.cpp
2022/04/29 17:12 1,244 StepCounter.h
2022/04/29 17:12 2,168 StepDetector.cpp
2022/04/29 17:12 1,247 StepDetector.h
2022/04/29 17:12 2,720 SWAccelerometerUncalibrated.cpp
2022/04/29 17:12 1,361 SWAccelerometerUncalibrated.h
2022/04/29 17:12 4,833 SWAccelGyroFusion6X.cpp
2022/04/29 17:12 1,227 SWAccelGyroFusion6X.h
2022/04/29 17:12 4,994 SWAccelMagnFusion6X.cpp
2022/04/29 17:12 1,227 SWAccelMagnFusion6X.h
2022/04/29 17:12 5,260 SWAccelMagnGyroFusion9X.cpp
2022/04/29 17:12 1,254 SWAccelMagnGyroFusion9X.h
2022/04/29 17:12 3,226 SWGameRotationVector.cpp
2022/04/29 17:12 1,321 SWGameRotationVector.h
2022/04/29 17:12 1,253 SWGeoMagRotationVector.cpp
2022/04/29 17:12 1,018 SWGeoMagRotationVector.h
2022/04/29 17:12 2,363 SWGravity.cpp
2022/04/29 17:12 1,249 SWGravity.h
2022/04/29 17:12 2,657 SWGyroscopeUncalibrated.cpp
2022/04/29 17:12 1,336 SWGyroscopeUncalibrated.h
2022/04/29 17:12 2,589 SWLinearAccel.cpp
2022/04/29 17:12 1,303 SWLinearAccel.h
2022/04/29 17:12 1,774 SWMagnetometerUncalibrated.cpp
2022/04/29 17:12 1,039 SWMagnetometerUncalibrated.h
2022/04/29 17:12 1,531 SWOrientation.cpp
2022/04/29 17:12 958 SWOrientation.h
2022/04/29 17:12 1,636 SWRotationVector.cpp
2022/04/29 17:12 979 SWRotationVector.h
2022/04/29 17:12 12,457 SWSensorBase.cpp
2022/04/29 17:12 2,484 SWSensorBase.h
2022/04/29 17:12 1,214 SWVirtualGyroscope.cpp
2022/04/29 17:12 991 SWVirtualGyroscope.h
2022/04/29 17:12 1,726 Temp.cpp
2022/04/29 17:12 1,097 Temp.h
2022/04/29 17:12 1,794 TiltSensor.cpp
2022/04/29 17:12 1,199 TiltSensor.h
2022/04/29 17:12 25,399 utils.cpp
2022/04/29 17:12 5,302 utils.h
2022/04/29 17:12 1,341 WristTiltGesture.cpp
2022/04/29 17:12 1,202 WristTiltGesture.h
3. Resumen de archivos de código fuente
Nombre del archivo | tipo | Observación |
Android.mk | Archivo de configuración | Compilar configuración |
android_KK_defconfig | Archivo de configuración | archivo de configuración del sistema android_KK |
android_L_defconfig | Archivo de configuración | archivo de configuración del sistema android_L |
android_M_defconfig | Archivo de configuración | archivo de configuración del sistema android_M |
android_N_defconfig | Archivo de configuración | archivo de configuración del sistema android_N |
android_O_defconfig | Archivo de configuración | archivo de configuración del sistema android_O |
android_P_defconfig | Archivo de configuración | archivo de configuración del sistema android_P |
android_Q_defconfig | Archivo de configuración | archivo de configuración del sistema android_Q |
android_R_defconfig |