当前位置: 代码迷 >> 综合 >> 4.[RK3288][Android6.0] Camera HAL流程小结
  详细解决方案

4.[RK3288][Android6.0] Camera HAL流程小结

热度:49   发布时间:2023-10-16 00:30:42.0

 

Platform: RK3288
OS: Android 6.0

Kernel: 3.10.92

 

虽然是Android6.0, 但是rockchip用的是Camera HAL 1.0的架构,没有更新到3.x.

开机:(MediaServer会调用)


camera_get_number_of_cameras ->        CameraHal_Module.cpp
    camera_board_profiles::getInstance ->
        createInstance ->
            new camera_board_profiles
            fopen    //打开/etc/cam_board.xml
            XML_ParserCreate
            fread
            XML_ParseBuffer    //解析文件
    LoadSensor ->
        OpenAndRegistALLSensor    //第一次会去尝试注册所有cam_board.xml里的sensor.
            OpenAndRegistOneSensor ->
                RegisterSensorDevice    //通过ioctl来执行sensor的初始化过程。
        ReadDevNameFromXML ->    //如果已经初始化过,那么直接读取/data/camera/media_profiles.xml里被第一次初始化添加进去的sensor.
            OpenAndRegistOneSensor //注册只在cam_board.xml中存在的sensor,uvc camera除外。
    open    //打开/dev/