[android12-linux-5.1][chip ST][RK3588][LSM6DSR] Análisis de código fuente HAL

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

Supongo que te gusta

Origin blog.csdn.net/lsh670660992/article/details/132699831
Recomendado
Clasificación