RK3399--知识整理(HAL层总结)

1 理解整理Camera软件框架及代码调用流程

1.1 Camera API1 和 HAL1(旧版)

参考资料:

理解整理:

旧版Camera的整体代码架构分为以下四个部分:

  1. Application层

    • Camera应用,所在目录:package/apps/Camera
  2. Framework层

    • Java API:提供给App调用的接口。

      • 类名:android.hardware.Camera
      • 所在目录:frameworks/base/core/java/android/hardware/Camera.java
      • 主要功能:链接或断开Camera服务,设置参数,开始/停止预览、拍照等。
    • Camera的JAVA native调用部分(JNI)

      • 所在目录:frameworks/base/core/jni/android_hardware_Camera.cpp
      • 主要功能:承接Java代码到C++代码的桥梁。
    • Camera框架的client部分

      • 所在目录:frameworks/av/camera/Camera.cppCameraBase.cpp
      • 主要功能:作为Camera框架的Client部分,与Service部分通过Binder机制进行通讯。
    • Camera框架的service部分

      • 所在目录:frameworks/av/services/camera/libcameraservice/CameraService.cpp
      • 主要功能:
        • CameraService是独立进程,开机启动。
        • CameraService服务端的Client(API1)部分通过CameraHardwareInterface(Device1)调用到HAL层。所在目录frameworks/av/services/camera/libcameraservice/api1/CameraClient.cpp
        • CameraHardwareInterface(Device1)所在目录frameworks/av/services/camera/libcameraservice/device1/CameraHardwareInterface.cpp
  3. HAL层

    • 所在目录:hardware/rockchip/camera/CameraHal
    • 主要功能:
      • CameraHal是根据CameraHardwareInterface规定的接口,依据V4l2规范实例化底层硬件驱动,使用ioctl方式调用驱动,驱动相关的driver,实现对camera硬件的操作。
  • 15
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值