二、高通相机bringup 流程

这篇具有很好参考价值的文章主要介绍了二、高通相机bringup 流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

二、高通相机bringup 流程

和你一起终身学习,这里是程序员Android

经典好文推荐,通过阅读本文,您将收获以下知识点:

一、相机Sensor 点亮相关的文件
二、Sensor 驱动文件详解

一、相机Sensor 点亮相关的文件

1.1 Sensor 驱动XML以及CPP文件
  • Sensor 文件路径:

vendor\qcom\proprietary\chi-cdk\oem\sensor\sensor_name
这颗Sensor 目录里面会有Sensor厂商提供或者别的项目copy过来成熟的 sensor.cpp 、 sensor.xml 、Android.mk文件

比如:
   vendor\qcom\proprietary\chi-cdk\oem\sensor\imx586
   vendor\qcom\proprietary\chi-cdk\oem\sensor\imx586\imx586.cpp
   vendor\qcom\proprietary\chi-cdk\oem\sensor\imx586\imx586.xml
   vendor\qcom\proprietary\chi-cdk\oem\sensor\imx586\Android.mk
  • sensor*.xml 编译生成bin文件

bin文件编译脚本命令参考如下:
./buildbins_.py --yaml-file-name buildbins_.yaml
buildbins_.yaml 文件中需要把对应的senesor.xml 以及module.xml 添加上
执行py脚本后会生成com.qti.sensor*.bin文件

  • sensor*.cpp 编译生成so 文件

so可以按正常的编译库文件编译

1.2 Module 配置XML文件

Module 配置文件路径:
\vendor\qcom\proprietary\chi-cdk\oem\module
比如:
\vendor\qcom\proprietary\chi-cdk\oem\module\imx586_module.xml

1.3 dtsi 设备树文件

dtsi 设备树文件路径如下:
\kernel\msm-4.19\arch\arm64\boot\dts\vendor\camera
比如target_name-camera-sensor-platform.dtsi
需要编译dtboimage 编译生成dtbo.img ,
另外需要编译bootimge 生成 boot.img, 使用fastboot flash dtbo dtbo.img 刷入手机中(需要跟bootimage一起刷入)

二、Sensor 驱动文件详解

2.1 sensor*.xml 文件详解

sensor*.xml 会包含
power settings,resolution, initialization settings, and exposure settings等
vendor\qcom\proprietary\chi-cdk\api\sensor\camxsensordriver.xsd 可以查看这个xml的详细内容

<sensorDriverData>
 <slaveInfo>
<sensorName>s5_rear</sensorName>
<slaveAddress>0x5a</slaveAddress>
<sensorId> 0x38e1</sensorId>
<i2cFrequencyMode>FAST</i2cFrequencyMode>
//上下电顺序相反
<powerUpSequence> </powerUpSequence>
<powerDownSequence> </powerDownSequence>
 </slaveInfo>
 <resolutionInfo>
<sensorVersion>0</sensorVersion>
      <!-- Res 0 8160*6144 10fps --> 第一个必须Full 全尺寸size
<resolutionData> 
 <streamInfo>
  <streamConfiguration>
   // 50M Full Size   
   <frameDimension>
    <xStart>0</xStart>
    <yStart>0</yStart>
    <width>8160</width>
    <height>6144</height>
   </frameDimension>
  </streamConfiguration>
 </streamInfo>
 <!--Line length pixel clock of frame
   Typically this value is the active width + blanking width -->
 <lineLengthPixelClock>8688</lineLengthPixelClock>
 <!--Frame length lines of frame
   Typically this value is the active height + blanking height -->
 <frameLengthLines>6400</frameLengthLines>
 <!--Output pixel clock -->
 <outputPixelClock>556800000</outputPixelClock>
 // 帧率fps = outputPixelClock/(frameLengthLines*lineLengthPixelClock)
 // 10fps =556800000/(6400*8688)=10.013
 <!--Maximum frame rate -->
 <frameRate>10.07</frameRate>
 
 <regSetting>  </regSetting>
 <!--Crop information for the frame -->
 <cropInfo>
  <left>0</left>
  <right>0</right>
  <top>0</top>
  <bottom>0</bottom>
 </cropInfo>
 <!--List of features / capabilities supported by sensor -->
 <capability>QUADCFA</capability>
 <RemosaicTypeInfo>SWRemosaic</RemosaicTypeInfo>
 <ADCReadoutTime>-6</ADCReadoutTime>
 </resolutionData>
 
 <!-- Res 1 4080*3072 30fps 4:3 -->
 <resolutionData>
  <frameDimension>
   <xStart>0</xStart>
   <yStart>0</yStart>
   <width>4080</width>
   <height>3072</height>
  </frameDimension>
 </resolutionData>
 
 <!-- Res 2 4080*2296 30fps -->
 <resolutionData>
  <frameDimension>
  <xStart>0</xStart>
  <yStart>388</yStart>
  <width>4080</width>
  <height>2296</height>
  </frameDimension>
 </resolutionData>
 
 <!-- Res 3 4080*3072 24fps -->
 <resolutionData>
  <frameDimension>
  <xStart>0</xStart>
  <yStart>0</yStart>
  <width>4080</width>
  <height>3072</height>
 </frameDimension>
  </resolutionInfo>
<exposureControlInfo></exposureControlInfo>
<streamOnSettings> </streamOnSettings>
<streamOffSettings> </streamOffSettings>
<masterSettings></masterSettings>
<initSettings></initSettings>
<resolutionData>
</sensorDriverData>
2.2 module.xml 文件详解

module.xml主要用来存储camera一些特殊信息,比如 lens镜头,mountangles挂载角度,actuator马达,OIS光学防抖,Flash 闪光灯等

<cameraModuleData>
<moduleGroup>
    <moduleConfiguration description="Module configuration">
      <cameraId>0</cameraId>
      <!--Name of the module integrator -->
      <moduleName>sunny</moduleName>
      <sensorName>s5_rear</sensorName>
      <actuatorName> </actuatorName>
      <oisName></oisName>
      <eepromName> </eepromName>
      <flashName> </flashName>
      <pdafName> </pdafName>
      <!--Chromatix name is used to used to open binary.
          Binary name is of the form sensor_model_chromatix.bin -->
      <chromatixName>s5_rear</chromatixName>
      <position>REAR</position>
      <!--Mount Angle -->
      <mountAngle>0</mountAngle>
      <!--CSI Information -->
      <CSIInfo description="CSI Information">
          <laneAssign>0x3210</laneAssign>
          <isComboMode>0</isComboMode>
      </CSIInfo>
      <!--Lens information -->
      <lensInfo description="Lens Information">
        <!--Focal length of the lens in millimeters. -->
        <focalLength>4.05</focalLength>
        <maxYawDegree>180</maxYawDegree>
      </lensInfo>
    </moduleConfiguration>
  </moduleGroup>
   </cameraModuleData>
2.3 dtsi 设备树文件详解

Camera客制化DTSI 参考文档目录
kernel\msm-4.19\Documentation\devicetree\bindings\media\camera
主要配置camera电源LDO, camera IIC通讯配置,根据硬件原理图配置出相应的电压给camera,包括AVDD,DVDD, 和IOVDD

参考文档:

  1. 80-p9301-97_p_camera_sensor_driver_bring-up_guide.pdf

  2. 【腾讯文档】Camera学习知识库
    https://docs.qq.com/doc/DSWZ6dUlNemtUWndv

友情推荐:

Android 开发干货集锦

至此,本篇已结束。转载网络的文章,小编觉得很优秀,欢迎点击阅读原文,支持原创作者,如有侵权,恳请联系小编删除,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

点击阅读原文,为大佬点赞!文章来源地址https://www.toymoban.com/news/detail-473738.html

到了这里,关于二、高通相机bringup 流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • chatglm——从部署到训练全流程&&你遇到的错误都在这里。

    自然语言训练似乎一夜之间就被chatgpt带火了。而因为我们需要做自然语言训练开发,所以就找了清华大学的chatglm来开发。在部署中我们遇到了很多的问题,当然也是各种百度去解决。最终功夫不负有心人,我们尝试了各种方法,完成了整体的训练。下面我就把完整的流程和

    2024年02月06日
    浏览(307)
  • 电子取证之服务器取证,本人第一次从pc取证到服务器,这里有一套例题分享给大家,所有解析我都尽可能全面具体,希望与各位同仁一起学习。(二次修改)

    话不多说,先上链接,这个包含一个2G的服务器镜像和题目,原题是弘连公司的,致谢,此处纯粹分享解法供大家学习。 第二次做题目,发现宝塔新版已经不支持,所以题目意义减少,还是欢迎手搓与小白来看看 链接: https://pan.baidu.com/s/1p8T7Fez_VlnSqdzvptARRw?pwd=ybww 提取码: ybww

    2024年02月07日
    浏览(48)
  • postgresql 内核源码分析 btree索引的增删查代码基本原理流程分析,索引膨胀的原因在这里

    ​ 专栏内容 : postgresql内核源码分析 手写数据库toadb 并发编程 ​ 开源贡献 : toadb开源库 个人主页 :我的主页 管理社区 :开源数据库 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 在postgresql最常用的索引就是btree,它支持范围和等值查询。 本文主要介绍

    2024年02月11日
    浏览(48)
  • 燃冬之yum、vim和你

    了解了很多指令和权限,搞点真枪实弹来瞅瞅 学Linux不是天天就在那掰扯指令玩,也不是就研究那个权限 准备好迎接Linux相关工具的使用了么码农桑~ yum 软件包 什么是软件包呢? 首先来举个生活中常见点的例子:比如我的手机是华为,我的手机里就会自带一个华为应用商店

    2024年04月26日
    浏览(25)
  • 双非保研北邮人工智能学院的逆袭之路 | 计算机就业形式、保研全流程、如何选导师...你想要的这里通通有

    作者: ShawnPi 编辑: CVHub 来源: https://zhuanlan.zhihu.com/p/601052513 刚经历过激烈的保研和一段时间的迷茫,希望此帖可以帮助到计算机专业的学弟学妹们。希望能从多维度,多视角解读计算机保研,为大家的未来发展方向提供一些建议。 适用对象:有志保研计算机专业的大一至大三

    2024年02月16日
    浏览(63)
  • Baumer工业相机VCX系列相机硬件触发流程和设置

    Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。   Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度可

    2024年02月09日
    浏览(69)
  • 图漾相机-SDK开发流程

    请参照我们的在线文档:http://doc.percipio.xyz/cam/last/apiguides/api_description.html 因为所有SDK都是基于C++代码,所以以C++为例: 下载链接:https://www.percipio.xyz/downloadcenter/ 目前图漾SDK支持:Android、ROS、C#、Python、Windows、Halcon、Linux(ubuntu以及嵌入式开发) 深度图 输出的深度图是一个1

    2024年02月07日
    浏览(82)
  • 软件质量测试中的健壮性测试是什么?一文和你说

    当大多数人开车时,他们不会担心刹车失灵。当他们的孩子得到一个新玩具时,他们也不担心因故障受伤。事实上,大多数人在日常生活中根本不担心系统故障。 这是因为软件开发人员或质量控制工程师已经解决了质量问题。如果目标是交付高质量、可靠的软件系统,那么必

    2024年02月06日
    浏览(38)
  • 如何用 ChatGPT 和你的卡片笔记对话?开源应用 Quivr 尝试

    我 非常喜欢使用卡片笔记。其优点明显,例如能显著减轻写作压力。在你面对空白屏幕时,写一篇文章的压力可能会很大,而随时三言两语记录卡片笔记则显得更为轻松。由于笔记以卡片形式存在,可以进行大量重组复用,对于 内容输出来说,非常友好。 然而,卡片笔记

    2024年02月11日
    浏览(35)
  • 3D相机与机械臂手眼标定流程

    1.采集n组点云数据,将第一组点云命名为(点云target)基准点云    这些数据可以通过3D相机采集得到,然后通过一些处理方法(如去噪、滤波等)进一步优化。 2.采集n组点云的同时记录n组机械臂位姿,同样将第一组位姿设为基准位姿(机械臂target) 3.将获取的n组机械臂位姿由欧

    2024年02月12日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包