自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (4)
  • 收藏
  • 关注

原创 【Camera专题】mm-qcamera-daemon浅析

一、随便聊聊国庆时,去了重庆游玩,可太有意思了,某天去姐夫的奶茶店喝奶茶,就听到了忽然之间这首歌,阿虾和崔铭嘉的男生合唱版,觉得真的好听,于是最近都在疯狂循环。就像这首歌的名称,很多想法都是忽然之间,我有了新的想法,希望未来几个月能实现!!!本文基本参考前辈总结的文档,加自己一丢丢的思考和改动。推荐文章camera daemon进程Qualcomm 8X camera daemon进程浅析二、老版mm-camera框架图mm-camera架构有2个版本,最老的版本是有

2022-01-05 09:45:23 1121

原创 高通msm-V4L2-Camera驱动浅析5-buffer

##系列文章高通msm-V4L2-Camera驱动浅析1-初识高通msm-V4L2-Camera驱动浅析2-框架详解高通msm-V4L2-Camera驱动浅析3-session上一篇文章讲到传输图像的方式:方法1:通过【帧IO】访问方式使用read和write的方式,通过read读取每一帧数据,数据需要在内核和用户之间拷贝,这种方式访问速度会非常慢。方法2:通过【流IO】访问方式:内存映射缓冲区(V4L2_MEMORY_MMAP):在内核空间开辟缓冲区,应用通过mmap()系统调用

2022-01-04 11:46:01 1413

原创 高通msm-V4L2-Camera驱动浅析4-stream

##系列文章高通msm-V4L2-Camera驱动浅析1-初识高通msm-V4L2-Camera驱动浅析2-框架详解高通msm-V4L2-Camera驱动浅析3-session一、stream(流)的设计思路为什么要使用stream这个设计呢?如果你做为开发者,现在你有个任务:假设camera像素为500W,你需要把每一帧500w的图像传输给用户使用,怎么办?方法1:通过【帧IO】访问方式使用read和write的方式,通过read读取每一帧数据,数据需要在内核和用户之间拷贝。但问题是:

2021-12-31 14:42:19 743

原创 高通msm-V4L2-Camera驱动浅析3-session

唠嗑最近看了维神的《沙丘》,我觉得是真的好看,配乐精彩绝伦,构图美轮美奂,场景气势磅礴,但是不是适合所有人;在各种廉价爆米花电影充斥主流商业片的今天,还能看到这么一部如此古典叙事且代表着好莱坞最高制作水准的巨作,简直幸运!##系列文章高通msm-V4L2-Camera驱动浅析1-初识高通msm-V4L2-Camera驱动浅析2-框架详解高通msm-V4L2-Camera驱动浅析3-session高通msm-V4L2-Camera驱动浅析4-stream高通msm-V4L2-Camera驱动浅析

2021-12-29 10:25:11 652

原创 高通msm-V4L2-Camera驱动浅析2-框架详解

##系列文章高通msm-V4L2-Camera驱动浅析1-初识高通msm-V4L2-Camera驱动浅析2-框架详解高通msm-V4L2-Camera驱动浅析3-session高通msm-V4L2-Camera驱动浅析4-stream高通msm-V4L2-Camera驱动浅析5-buffer前言一些推荐的文章深入理解Android相机体系结构之八msm8996平台的 camera 框架笔记 Camera Kernel 驱动层代码逻辑分析上一篇文章结合V4L2框架的知识,对高通v4l2

2021-12-28 08:48:20 2148 4

原创 高通msm-V4L2-Camera驱动浅析1-初识

##系列文章高通msm-V4L2-Camera驱动浅析1-初识高通msm-V4L2-Camera驱动浅析2-框架详解高通msm-V4L2-Camera驱动浅析3-session高通msm-V4L2-Camera驱动浅析4-stream高通msm-V4L2-Camera驱动浅析5-buffer前言V4L2是 linux 设备设计的一套视频框架,网上已经有很多博文可以研究学习。V4L2源码路径:kernel/msm-4.9/drivers/media/v4l2-core阅读本文之前,需要对V4

2021-12-23 09:12:20 2323

原创 [Camera专题]Qcom- 获取metadata数据

1.medata数据的接口hardware/qcom/camera/QCamera2/HAL/QCamera2HWICallbacks.cppvoid QCamera2HardwareInterface::metadata_stream_cb_routine(mm_camera_super_buf_t * super_frame, QCameraStream * stream,

2021-12-18 11:05:18 959 1

原创 [Camera专题]Qcom-获取sensor数据

前言在集成eis算法时,我们需要获取sensor的数据:如gyro,ois,accelerate等传感器的数据。本文以gyro数据为例子。1.初始化1.1 获取服务void GyroReader::init(){ LOGE("zcf_g:E"); //步骤1:获取sensor服务 this->smgr = ISensorManager::getService(); if(smgr == nullptr) { LOGE("zcf_g:Fail to get sensor m

2021-12-13 08:53:48 1204

原创 C++ 提高编程

0.前言最近在做算法移植的时候,发现自己对c++的知识忘得很多,于是就计划重新捡起来。纸上得来终觉浅,绝知此事要躬行一直都是我学习和工作的原则,我比较喜欢动手。于是我把c++的基础知识一行行代码敲了一遍!1.模板1.1 模板的概念模板就是建立通用的摸具,提高复用性。模板的特点:模板不可以直接使用,它只是一个框架模板的通用不是万能的1.2 函数模板c++的另一种编程思想称为泛型编程,主要利用的技术就是模板c++提供2种模板机制:函数模板和类模板1.2.1 函数模板的语法

2021-11-24 14:41:29 802

原创 C++ 核心编程

##0.前言最近在做算法移植的时候,发现自己对c++的知识忘得很多,于是就计划重新捡起来。纸上得来终觉浅,绝知此事要躬行一直都是我学习和工作的原则,我比较喜欢动手。于是我把c++的基础知识一行行代码敲了一遍,无论多简单!为以后研究camera框架源码,写算法移植的框架打一下基础!1.内存分区模型c++内存分为4个区域:代码区:存放函数体的二进制代码,由操作系统进行管理。全局区:存放全局变量、静态变量、常量栈区:由编译器自动分配释放,存放函数的参数值、局部变量等。堆区:由

2021-11-24 08:47:02 2275

原创 【Camera专题】Camera驱动源码全解析_下

1、手把手撸一份驱动 到 点亮 Camera2、Camera dtsi 完全解析3、Camera驱动源码全解析上4、Camera驱动源码全解析下上篇文章分析了C文件函数的实现,本文继续分析h文件的配置信息。推荐文章:MIPI CSI2学习(一):说一说MIPI CSI2高通camera驱动分析一、h文件中配置信息分析1.sensor增益的宏定义/* OVXXX Regs */#define OVXXX_DATA_PEDESTAL 0x40 /* 10bit val

2021-11-12 08:34:58 3843

原创 【Camera专题】Camera驱动源码全解析_上

1、手把手撸一份驱动 到 点亮 Camera2、Camera dtsi 完全解析3、Camera驱动源码全解析上4、Camera驱动源码全解析下一.c文件函数全解析#define MAX_ANALOG_GAIN 1.0#define MIN_ANALOG_GAIN 15.5这2个值在datasheet(规格书),参考图1寄存器的值gain倍数0x0100 (256)1······0x0F80(3968)15.51.sensor 增益的计算

2021-11-11 14:20:30 1899

原创 【camera专题】 Camera Open/Close (1)

系列文章基于HAL1: camera hal层框架源码系列: HAL1 – Camera Open/Close (1)一、代码流程图整个流程就很清晰了。二、源码及log分析1.camera service启动(开机时调用一次)I CameraService: CameraService started (pid=648)I CameraService: CameraService process starting2.get_num_of_cameras:获取摄像头数量(开机时调用一次)

2021-11-09 11:52:33 1602

原创 【Camera专题】Qcom-你应该掌握的Camera调试技巧2

系列文章【Camera专题】Qcom-你应该掌握的Camera调试技巧1【Camera专题】Qcom-你应该掌握的Camera调试技巧20.APP端增加性能分析log增加性能日志:Tag:[KPI_CAMERA]日志打印:打开摄像头:CAMERA_OPEN第一帧回调:onFirstPreviewFrame切换摄像头:SWITCH_CAMERA拍照:TAKE_PICTURE拍照完成:TAKE_PICTURE_FINISH小视频开始录制:START_RECORD小视频录制完成:RECO

2020-07-31 08:28:04 6262 4

原创 【Camera专题】概率性读不到id~二

系列文章【Camera专题】I2C不通或地址读错总结【Camera专题】概率性读不到id~二上一篇文章总结了很多读不到id的经验,本文在讲一些比较细的点子,可能你从未考虑到的!1.顺序影响平台:qcom-429上篇文章也讲过这个顺序的影响,是前后id的读取顺序和otp的加载顺序不一致,导致概率性读不到id的。但是最近调试429新平台时,高通在点亮gc8034时,也遇到概率性读不到id...

2019-10-24 14:52:52 1230

原创 【Camera专题】HAL层-Kernel层实现字符驱动-实践篇

一.唠嗑无论学习什么,我都坚守一个原则:动手实践。毕竟,纸上得来终觉浅,绝知此事要躬行!为了加深对HAL层的理解,打算站在前辈-老罗等的肩膀上,动手实践一波。只有你动手了,你才会犯错,犯错了才能学到东西,理解也更深。在目前手上的项目进行实践!平台:高通8908w知识点1.博客推荐2.在kernel层实现简单的字符驱动。HAL层博客推荐1.深入浅出 - Android系统移...

2019-09-12 15:13:20 1193

原创 【Camera专题】Camera dtsi 完全解析

一、唠嗑说来惭愧,搬砖也有一段时间了,dtsi里面有些配置还没弄清楚含义,作为一个咸鱼的搬砖行家,就研究一下吧!二、知识点平台:8909主要参考kernel/Documentation/devicetree/bindings/media/video/msm-cci.txt的注释,加上自我的理解!1. sensor配置qcom,camera@0 { cell-index...

2019-09-07 11:03:10 3446 3

原创 【Camera专题】OTP数据如何保存在自定义节点中

一、前言之前因为lsc导致出现的绿屏问题,模组厂说是lsc数据出了异常,sensor厂fae也没有后续配合,就扯了一句,让我们保存otp数据,方便出问题时对比,然后就没有然后了。支持不给力,态度还差。若对OTP不太熟悉,先读一下以前的文章!OTP编程完全指南分上、下2篇。上:主要讲OTP的知识和调试流程。下:主要讲OTP的源码。Qcom-高通OTP编程调试指南-上Qcom-高通O...

2019-09-07 11:02:11 1179

原创 【Camera专题】手把手撸一份驱动 到 点亮Camera

一、说在前头的话1.上个月通过博客认识了Eric,以前在oppo工作的,正好他是我现在同事兼老乡-老吴的好朋友,于是就一起聚餐了,看着他们照顾小孩,听他们讲中年危机,未来我也会跟他们相似。最大感触就是 选择很重要,Eric 2012~2013年在OPPO就职,后面选择离开。如果当年一直在的话,现在指不定就财富自由了,只道人生如戏,这就是命!2.最近家里发生了事情,正好赶上公司旅游...

2019-09-07 11:00:44 4249 12

原创 【Camera专题】HAL层-addChannel和startChannel简析

说在前面的话最近看源码看得脑壳疼,晕头转向的,我觉得是我看源码的姿势不对,过分追求细节,想要每一句都懂,实际上这么做,只会打击自己看源码的信心!算了,就那样吧,人生本来就是一场毫无意义的旅行!赚钱-买房-买车-结婚-生子-老去-死去-尘土!一. addChanne简析;1.1 addChannel(QCAMERA_CH_TYPE_PREVIEW)hardware/qcom/camer...

2019-09-07 10:44:37 1254

原创 【Camera专题】】HAL层-深入浅出startPreview

说在前面的话现在阅读的是HAL1的源码,因为项目目前还是Android 7.1,用的是HAL 1,而HAL 3有很大的改动!!!有点不知道怎么说才好。不论如何,把一个搞懂了,另一个理解起来也会容易一些吧!不去抱怨,就努力去做吧!!!一.知识点1. C++多线程知识2. startPreview的流程和深度解析读完本文,未来在面试的时候,如果面试官问到这一块,希望你得心应手!二.C...

2019-09-07 10:43:09 1460 1

原创 【Camera专题】HAL层源码学习-启动篇

1.近况到这个月,底层驱动这一块就2年了,感觉做这个很多都是在解bug,有点迷茫!当然也开始有焦虑感,毕竟想买个小房子和小车子,靠自己过上一房一车,一猫一狗一吉他的生活。简而言之一屋两人三餐四季最近花了时间,把C++的语法温习了一遍,有时候觉得人生有点搞笑,你拒绝得东西,冥冥之中又会接触。大学那会,不想搞C++,感觉语法太繁杂,而Java吸收了C++优点,避免缺点!因此自学了J...

2019-09-07 10:33:32 1053 2

原创 【Camera专题】Fatal signal 11 (SIGSEGV), code 1, fault addr 0x4 in tid 5939 (CAM_c2d)

平台 高通 msm8909:安卓 7.0问题:Fatal signal 11 (SIGSEGV), code 1, fault addr 0x4 in tid 5939 (CAM_c2d)log=================== beginning of crash06-05 16:49:48.429 404 5939 F libc : Fatal signal 11 ...

2019-09-05 09:13:58 856

原创 【Camera专题】Sprd-基于log的Camera流程分析1-【Open流程】

一、前言天苍苍,野茫茫,风吹草低见牛羊!高通的旗舰机项目基本搞定,就等6月底上市了,期望能卖得不错吧!这半年做高通项目,学习到许多关于Camera的知识,当然还需要深入去学习!不过,下半年要做展讯旗舰机器,又要开始踩展讯的坑!前段时间写了一下Sprd的Camera流程分析,感觉之前写得不太详细,因此,打算基于log分析源码,对整个架构更加深入的学习!二、Open流程1.整体架构...

2019-09-05 08:29:35 4479 2

原创 【Camera专题】Sprd-如何dupm预览YUV,编写合成YUV脚本

前言1、展讯平台如何dump出preview的YUV1.方法:执行adb命令:adb shell setprop debug.camera.dump.frame preview打开相机进行预览使用adb命令进入到/data/misc/media可以看到,生成了相应的yuv图片2.拉取图片导出/data/misc/media/下的图片:adb rootadb remount...

2019-09-05 08:14:54 1328

原创 【Camera专题】qcom-相机停止运行总结

问题: [通过霍尔传感器]频繁打开关闭相机,出现一次相机停止运行crash log05-28 11:27:36.363 22431 22431 E AndroidRuntime: java.lang.RuntimeException: Fail to connect to camera service05-28 11:27:36.363 22431 22431 E AndroidRuntim...

2019-09-03 09:29:21 1309 4

原创 【Camera专题】I2C不通或地址读错总结

一.I2C地址不通平台:高通 msm8909(wear2001)最近遇到I2C地址不通问题,通信失败,导致摄像头无法点亮。分析方法:1.硬件层面确认硬件是否有问题,我们遇到模组厂给的sensor,dvdd和avdd本身短路了,导致打不开。我们有遇到一开始能用,后来就突然用不了,开机有时候读得到id,有时候读不到id,开机启动后,即使开机读id没问题,启动时偶尔也读不到id,用手折弯f...

2019-09-02 09:36:02 4516

原创 【Camera专题】OV8856预览或者拍照时 瞬间闪屏

平台:msm8909w问题一我们调试效果的同事,在调试效果时,需要固定gain,line,fl_line值,这样强行固定,会出现问题。在打开相机和拍照的时候,瞬间闪屏,闪的颜色红色或者绿色等等其他颜色!static int32_t ov8856_z8856ah_new_fill_exposure_array(uint16_t gain, uint32_t line, uint32_t...

2019-08-31 16:26:26 1179

原创 【Camera专题】Qcom-如何修改Camera预览、拍照、视频时支持的分辨率

一.知识点如何在预览、拍照、录制视频时,提供一组1080*960的新分辨率。vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/mct/pipeline/mct_pipeline.c//预览static cam_dimension_t default_preview_sizes[] = {···+{1080 , 9...

2019-03-05 10:37:17 2343 1

原创 【Camera专题】Qcom-高通OTP编程调试指南-上

一、前言关于高通OTP编程的知识,网上少得可怜,官方文档又没有那么清晰,于是就来一篇干货吧!OTP编程完全指南分上、下2篇。上:主要讲OTP的知识和调试流程。下:主要讲OTP的源码。本文知识点:1.OTP的基本概念2.OTP的作用3.OTP的调试流程二、知识点1.OTP的基本概念(是什么)OTP(One Time Programmable)意思是一次性可编程,程序或者数据...

2019-03-02 09:07:01 3494 6

原创 【Camera专题】Qcom-你应该掌握的Camera调试技巧一

一、吐槽日常吐槽:12月27号入职,从MTK平台转到展讯平台,导师给安排关于Camera了2个棘手的任务,展讯那边都没有找到解决方案的,最终靠自己解决了,也证明了自己的工作态度和能力。当然也被表扬了解决问题的效率和方法。本月绩效评价A,绩效奖10%[小小的开心]这边主要做高通的旗舰机,因此,又要研究高通平台的Camera这一块。折腾来去,一下子3个平台都接触了,也是挺心累的,没人指导,...

2019-01-31 11:57:04 2461

原创 【Camera专题】Qcom-Camera驱动框架浅析(Hal层->Driver层)

1、前言本文主要研究高通平台Camera驱动和HAL层代码架构,熟悉高通Camera的控制流程。平台:Qcom-高通平台Hal版本:【HAL1】知识点如下:从HAL层到driver层:研究Camera以下内容1.打开(open)流程2.预览(preview)流程3.拍照(tackPicture)流程2、Camera软件架构由上图可以看出,Android Camera 框架是 ...

2019-01-30 09:18:51 3289 1

原创 【Camera专题】Sprd-Camera帧率fps的计算及拍照闪红问题的解决

吐槽换了新公司,一上来就面对两个比较棘手的问题,2个问题都是拖了几个月没有解决,跟展讯那边沟通迟迟没有解决方案。原本是做MTK平台的,到了这边需要做展讯平台和高通平台。证明能力的时候到了!一周用来熟悉展讯Camera驱动,2个问题基本在加班跟源码,3天左右找到解决方案!事实上还是有些成就感,毕竟,一来面对的是新平台,另外特别是第二个问题,展讯拖了几个月都没有解决办法。平台:Sprd-展...

2019-01-29 08:16:16 4146 2

原创 【Camera专题】Sprd-深入浅出Camera驱动框架1(HAL层-Kernel层)

一、前言本文主要研究展讯平台 Camera驱动 和 HAL层代码架构,熟悉展讯Camera的控制流程。Hal版本:【HAL3】平台:【Sprd展讯平台】知识点如下:从HAL层到kernel层1.Camera的打开(open)、初始化(init)和供电(power on)调用流程2.预览(preview)调用流程3.拍照(snapshot)调用流程Camera软件架构二、Cam...

2019-01-28 08:15:23 6021

原创 【Camera专题】你应该了解的Camera HW-硬件知识

一.吐槽作为一个驱动工程师,最基本的硬件基础知识你必须得懂吧。举个栗子【敲黑板,重点来了啊】1.你要点亮Camera,你得知道你用的是什么接口的,是MIPI的还是Parallel的?2.数据传输有哪些方式?3.Camera 的成像原理是什么?等等说点题外话1.作为一个小白,我为啥要写一个专题吗?我想,一来是记录自己的成长过程吧,记录看过的资料,做了什么...

2019-01-26 14:49:49 5238 13

原创 【Camera专题】-从零开始的Camera学习之路——启动篇

1.吐槽如今工作也一年多了,在现在的公司是啥都调试,从EMMC,TP,LCD,CAMERA等等,对于底层驱动也有了一定的认识,现在的状态就是啥都会一些,啥都不精通。于是,寻寻觅觅一年多,终于确定下来职业发展方向-Camera驱动开发。2019.1.26更新吐槽:之前在大学开的博客,没能坚持写技术文章,后来工作后开始坚持写技术文档!但是觉得csdn在使用MarkDown语法时,上传图片特...

2019-01-26 12:08:28 6320 14

原创 <记录>从零学数据结构算法——线性表

1.定义一个接口 IList .javapackage zcf;/** * 增删改查 输出 遍历 * @author zcf * */public interface IList { public void insert(int position,Object obj) throws Exception; public void remove(int position)

2016-06-08 23:10:34 517

原创 记录进阶之路——自定义view学习一

先声明,这是我跟着网上的代码敲的,不是自己写的,这是他的博客 学习自定义view,先跟着别人的脚步,学会了自己在尝试!1.美食卷package com.zcf.writingboardview;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import a

2016-05-25 14:12:59 404

原创 那些年,从安卓白痴到自己写一个项目

从零开始——我写的安卓项目 先上图,一览究竟! 再来一张 官网,下载链接桃花源一、跟着“第一行代码”一个个的敲 我还记得,当我开始看第一行代码时,我有好多都看的糊里糊涂的,第一章教我怎么安装开发环境eclipse,我就挂了,一直没装成功,后来遇到个好心人,跟我说有个软件叫Android Studio, 于是就这样开始了自学之路,用这个这个软件,说多了都是泪,其实挺不错

2016-05-25 12:37:22 1295 1

原创 Android实例-仿支付宝diaolog

说在前头的话:北风吹,秋风凉,谁家…,什么鬼,说好的心灵鸡汤呢!嗯 以前一直想做一个类似于支付宝的dialog,却没有去做,学习技术最好的做法之一:动手敲Demo,在百度贴吧看了有人问怎么实现支付宝的diolg的,于是自己就写了个demo.再看这篇文章之前,建议你先去看看详解Dialog(三)——自定义对话框视图及参数传递 这是支付宝截图 这是实现的效果 一、分析 其实

2016-04-16 21:02:06 1485

bd-C++语言编程规范

bd-C++语言编程规范

2022-01-21

hw-c语言编程规范.pdf

hw-c语言编程规范.pdf

2022-01-21

Bluetooth_Core_v5.1

压缩包中包含了开发Bluetooth_Core_v5.1(蓝牙v5.1协议规范),蓝牙必备的文档之一,蓝牙核心规范5.1版本

2019-01-31

仿支付包dialog

模仿支付宝diaolog

2016-04-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除