- 博客(39)
- 收藏
- 关注
转载 camera调试名词及问题策略
要认识CMOS摄像头的结构。我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头、感应器和图像信号处理器构成。一般情况下,集成好的模组我们只看到外面的镜头、接口和封装壳,这种一般是固定焦距的。有些厂商只提供芯片,需要自己安装镜头,镜头要选择合适大小的镜头,如果没有夜视要求的话,最好选择带有红外滤光的镜头,因为一般的sensor都能感应到红外光线,如果不滤掉,会对图像色彩产生影响,另外要注意在
2017-12-05 18:55:14 1855
转载 修改camera倒置后出现偏色或红蓝反情况
================================RAW sensor预览碰到的颜色问题========================================================== RAW摄像头预览颜色不对,可从下面着手实验。 如上图所示,sensor的感光面可以感知R /G
2017-12-05 10:52:19 3663
原创 lens框架mtk
仅分析hal和kernel层代码Hal: A:\project\T19_MP\mtk6737_blf\alps\vendor\mediatek\proprietary\hardware\mtkcam\legacy\platform\mt6735m\core\featureio\drv\lens\mcu_drv.cppA:\project\T19_MP\mtk6737_blf\alps
2017-11-10 18:16:04 1258
转载 添加camera后摄,导致前摄无法打开,现象是没有camera切换图标
问题现象:MTK平台需要添加一个客户的后摄,看起来如此简单,但是添加OK后,后摄可以点亮切拍摄OK,但是发现前摄无法切换了。问题分析过程:看了一下修改的文件,并没有误操作,修改前摄相关的东西,修改文件如下图:相关的文件也只有ProjectConfig.mk文件了,那么就继续查看这个文件是不是有什么异常,[cpp] view plain c
2017-10-12 10:51:30 1134
转载 camera基本知识
一 Camera模组 大家都知道,手机背面的那个小小的孔,就叫摄像头。这个小孔幽幽的泛着光泽,深邃又迷人,如同一个含苞待放的小萝莉一样,这个小萝莉还是个傲娇娘,像零之使魔的614一样惹人怜爱,而且在小萝莉身体里面,不对,是在小孔的里面,还有层膜…..哦,这是镀膜。 看了上面一段大家别惊慌,我不是猥琐的宅男,我也有女朋友的……她叫姐崎宁宁……囧! 回到正题来吧。
2017-09-25 19:11:01 16303 6
转载 mtk的camera调试问题
1)读不到ID,这种情况,首先排除硬件部分,如模组没焊接好(有时是数据总线或者I2C或者其它控制线)。其次就是上电时序没上正确。(2)前后置摄像头切换有问题:这种情况一般是在上前置camera时没将后置camera的PDN设成不工作引起的。同样上后置camera时没将前置摄像头PDN设成不工作。这样会引起在切换到前置或后置时另外一个sensor仍然有数据输出,到ISP报ANR错误。
2017-09-22 13:20:41 5630
转载 mtk6737如何改差值文件
一、.背景介绍图像比例拍出图像像素代码中字串id相机界面显示像素(英文)4:3320x240@string/pref_camera_picturesize_entry_320x240QVGA640x480@string/pref_camera_picturesize_entry_640x
2017-09-21 11:08:09 973
转载 mtk新建工程
Svn co svn://172.16.0.248/mtk72-kkSvn co svn://172.16.0.248/mtk6582-kkSvn co svn://172.16.0.205/workdir/MTK-6572Svn co svn://172.16.0.248/mtk6582Svn co svn://172.16.0.248/idh7731 展讯
2017-09-21 08:53:59 3802
转载 android的m、mm、mmm编译命令的使用
android源码目录下的build/envsetup.sh文件,描述编译的命令- m: Makes from the top of the tree. - mm: Builds all of the modules in the current directory. - mmm: Builds all of the modules in the su
2017-09-19 19:33:49 3570 1
转载 camera MCLK配置错误造成 i2c不通的 修改方法
[DESCRIPTION]在MT6795 MT6735平台,HW 上MCLK和SW上MCLK 配置不匹配的话,如HWMCLK 共用,SW没有共用的话,会造成能开机搜到对应的sensor id,但open时又找不到id,i2c不同。1 开机能search 到sensor id原因:开机时三路MCLK 的pll都打开了,所以在kd_camera_hw.c中对正确的MCLK上电就可以正常工作
2017-09-17 21:50:35 5148
转载 set_gain(gain);
gain:信号增益(Gain)。如果光线暗,就需要提高感光度即加大增益,这会降低信噪比,感光度当然是越高越好哦1、数码成像的画质纯净度(噪点程度)有三项技术决定,一是传感器光电转换技术(ADC技术),二是传感器信噪比技术(SNR技术),三是图像处理器技术;2、光电转化技术。传感器的工作原理是将镜头采得的光元素转化为电信号,传感器的电压、电流、温度、压力等技术都关系到探测到的信号,然后通过A
2017-09-17 21:29:59 1780
转载 VSYNC与HSYNC与PCLK与什么有关系
在手机平台,LCD,Camera,TV的接线上,都会用到PCLK,VSYNC和HSYNC这三个信号。可见这三个信号和显示关系非常大。首先我们先看这三个信号的作用:PCLK:有些方案给他起名字叫:DotCLK。是像素点同步时钟信号。也就是每个PCLK对应一个像素点。VSYNC:是场同步信号。以高电平有效为例,VSYNC置高直到被拉低,这个区段所输出的所有影像数据组成一个frame。
2017-09-17 19:38:15 7840
转载 MTK 前后使用相同类型的Camera
由于实际项目开发中,前后摄像头使用前后相同类型的Camera,前后Camera经FAE优化使得驱动参数不一致,此时需要使用两份不同的驱动文件;这就涉及到如何在同一款camera上同时使用两套不同的驱动;硬件电路跟上一篇是一致的就不重复帖图了,请看:MTK Camera驱动移植驱动兼容原则:“另外一份驱动使用自定义sensor ID 和sensor name中,在系统读取
2017-09-17 09:16:55 718
转载 make 2>&1 | tee log.txt命令解析:
1. make是什么?make是linux下一个非常强大的命令,简单点就是你要编译你的源代码就得靠他了。2. 2>&1是什么意思?0 stdin,1 stdout,2 stderr2>&1应该分成两个部分来看,一个是2>以及另一个是&1,其中2>就是将标准出错重定向到某个特定的地方;&1是指无论标准输出在哪里。所以2>&1的意思就是说无论标准出错在哪
2017-09-12 20:44:21 831
转载 git add -A 和 git add . 的区别
git add -A和 git add . git add -u在功能上看似很相近,但还是存在一点差别git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区
2017-09-11 16:40:11 229
转载 如何把已经提交的commit, 从一个分支放到另一个分支
实际问题:在本地 master 分支上做了一个commit ( 38361a68138140827b31b72f8bbfd88b3705d77a ) , 如何把它放到本地 old_cc 分支上?办法之一: 使用 cherry-pick. 根据git 文档:Apply the changes introduced by some existing commits就是对
2017-09-11 16:01:08 1661
转载 dsi_set_cmdq 用法
编辑框1有如下内容 B9 FF 83 79 B1 44 18 18 31 51 90 D0 EE 通过按钮转换为如下格式,输出到编辑框2里 a[0] = 00043902; //这个参数里面的4为第一行内容的个数 a[1] = 7983FFB9; //第一行内容,倒序输出 dsi_set_cmdq(&a, 2, 1); //括号里的数字2是a[]的个数a[0] =
2017-09-06 14:36:22 1345
转载 mipi 调试经验
以下是最近几个月在调试 MIPI DSI / CSI 的一些经验总结,因为协议有专门的文档,所以这里就记录一些常用知识点:一、D-PHY1、传输模式LP(Low-Power) 模式:用于传输控制信号,最高速率 10 MHzHS(High-Speed)模式:用于高速传输数据,速率范围 [80 Mbps, 1Gbps] per Lane传输的最小单元为 1 个字
2017-09-06 13:56:18 1050
转载 MIPI DSI协议介绍
一、MIPIMIPI(移动行业处理器接口)是Mobile Industry Processor Interface的缩写。MIPI(移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准。已经完成和正在计划中的规范如下: 二、MIPI联盟的MIPI DSI规范1、名词解释• DCS (DisplayCommandSet):DC
2017-09-06 13:54:29 638
转载 Android系统adb调试命令及常用抓log方法
一 adb常用命令1. 查看设备adb devices //当前连接的设备, 连接到计算机的android设备或者模拟器将会显示处理2. 安装软件 卸载软件adb install xxx.apk //安装软件adb install -r xxx.apk //重新安装该软件adb uninstall apk包名.ap
2017-09-06 10:48:38 1427
转载 mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系
我们先来看一个公式:Mipiclock = [ (width+hsync+hfp+hbp) x (height+vsync+vfp+vbp) ] x(bus_width) x fps/ (lane_num)/2即mipi 屏的传输时钟频率(CLKN,CLKP)等于(屏幕分辨率宽width+hsync+hfp+hbp)x ( 屏幕分辨率高height+vsync+vfp+vbp) x(R
2017-09-06 10:47:54 2751
转载 init函数详解
1.主要功能,红色部分是android特有的一些功能,如fastboot,recovery模式等:* Variety of nand devices for bootup* USB driver to enable upgrading images over usb during development* Keypad driver to enable developers enter ‘fast
2017-09-05 16:28:18 14047
转载 MTK Android 关机状态下充电器接入检测
关机时充电器检测代码在lk部分,当接入充电器时,PMIC会通过ADC采样,检测Vchrg(charger/usb电源)电压,判断Vchrg的值如果在这个区间:4.4v~6.5v,系统就会开始进入充电过程,这个过程包括show low battery logo,接着显示充电电量logo。相关代码:mt6572/mediatek/platform/mt6572/lk/platfor
2017-09-05 15:55:10 4369
转载 开机logo
开机动画严格意义上可以分为三个步骤:1.开机第一屏2.开机第二屏3.开机动画Boot logo:1. 开机显示的顺序如下: boot logo(开机第一屏) (logo.bin 中) Kernel logo(开机第二屏) (system/media/images/boot_logo 文件) Boot animation(开
2017-09-05 12:08:07 3286
转载 MTK的lcm背光流程和客制化
在梳理代码时,感觉 MTK 的代码中公共部分和客制化部分分的还是很清楚的。 首先说明一下文档的结构,我们先介绍我们客制化的地方,因为这个才是我们实际调试及解决 bug 时真正要关心的,而平台端不需要客制化的代码只需要梳理清楚就行。背光流程中,客制化与否的分界文件是 cust_leds.c (vendor\vendor\mediatek\proprietary\bootable\bo
2017-09-04 17:25:30 2020
转载 MTK codegen.dws文件---GPIO口的定制
如果需要定制GPIO口呢,需要使用mediatek/dct/DrvGen.exe工具,点击Open,选择mediatek/custom/project_dir/kernel/dct/dct/codegen.dws文件,点击Edit,将出现如图所示的一个窗口:注:此图没截全,补充一个图配置LCM PWM引脚、RST复位引脚、DISP_PWM引脚和LCM电源控制引脚
2017-09-03 18:44:36 1761 1
转载 MTK lcm 驱动加载流程 android M
直有一种强迫症,不把整个流程屡清楚就是蓝瘦香菇。做项目读博客多了,也就慢慢地搞清楚了。安卓系统从power键按下释放,到lcm驱动显示,整个驱动的加载流程as follows:lk阶段,还是先执行main.c (vendor\vendor\mediatek\proprietary\bootable\bootloader\lk\kernel)其中执行 platform_i
2017-09-03 09:56:37 1009
转载 bootloader过程(preloader---->lk)
1、bootloader到kernel启动总逻辑流程图ARM架构中,EL0/EL1是必须实现,EL2/EL3是选配,ELx跟层级对应关系:EL0 -- appEL1 -- Linux kernel 、lkEL2 -- hypervisor(虚拟化)EL3 -- ARM trust firmware 、pre-loader若平台未实现EL3(atf),
2017-09-03 09:54:39 4983
转载 bootloader(lk---->kernel)
Pre-loader 运行在ISRAM,待完成 DRAM 的初始化后,再将lk载入DRAM中,最后通过特殊sys call手段实现跳转到lk的执行入口,正式进入lk初始化阶段.一、lk执行入口:位于.text.boot 这个section(段),具体定义位置为:de style="display: inline; padding: 0px; color: rgb(0
2017-09-03 09:50:35 1381
转载 关于mmap()函数的用户和驱动的一点总结
前言:内存映射,简而言之就是将用户空间的一段内存区域映射到内核空间,映射成功后,用户对这段内存区域的修改可以直接反映到内核空间,同样,内核空间对这段区域的修改也直接反映用户空间。那么对于内核空间用户空间两者之间需要大量数据传输等操作的话效率是非常高的。以下是一个把普遍文件映射到用户空间的内存区域的示意图。图一:用户空间:mmap函数是unix/Linux下的系统
2017-09-03 09:47:16 899
转载 c面试考点
一、 想说一说关于集中数据类型的sizeof问题,这题出现率40%sizeof就是求在内存总占多少字节的问题,最基本的char 1字节 short 2字节 int 4字节任何的指针都是4字节 sizeof(数组名)=数组占的大小(这里必须注意虽然数组名可作为只想数组首地址的指针,但是sizeof(数组名)求得的不是指针的大小,而是数组大小)还有就是sizeof(结构体) s
2017-09-03 09:43:42 306
转载 dmesg命令
dmesg命令-->用来显示开机信息, kernel会将开机信息存储在ring buffer中。开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log/dmesg【dmesg命令作用】: 有时候屏幕上的启动信息一闪而过,我们无法查看到具体信息,又或者服务器在电信机房,更看不到开机启动信息。这时候Linux提供了dmesg这条命令。在命令行下敲
2017-09-03 09:38:42 1460
转载 linux下UART的应用层编程及测试小程序
//串口相关的头文件 #include /*标准输入输出定义*/ #include /*标准函数库定义*/ #include /*Unix 标准函数定义*/ #include #include #include /*文件控制定义*/ #include /*PPSIX 终端控制定义
2017-09-03 09:35:27 1868
转载 linux内核和用户通信
linux驱动程序一般工作在内核空间,但也可以工作在用户空间。下面我们将详细解析,什么是内核空间,什么是用户空间,以及如何判断他们。 Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,linux的虚拟地址空间也为0~4G.Linux内核将这4G字节的空间分为两部分。将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为"内核空间".而将较
2017-09-03 09:34:00 933
转载 linux驱动面试题
二:linux内核原理面试必问(由易到难)简单型1:linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些?2:linux中内存划分及如何使用?虚拟地址及物理地址的概念及彼此之间的转化,高端内存概念?3:linux中中断的实现机制,tasklet与workqueue的区别及底层实现区别?为什么要区分上半部和下半部?4:linux中断的响应执行流程?中断的
2017-09-03 09:31:29 637
转载 spi应用层写法
1.1 重要的数据结构1. spi_device虽然用户空间不需要直接用到spi_device结构体,但是这个结构体和用户空间的程序有密切的关系,理解它的成员有助于理解SPI设备节点的IOCTL命令,所以首先来介绍它。在内核中,每个spi_device代表一个物理的SPI设备。它的成员如程序清单 1.1所示。程序清单 1.1 spi_device[cp
2017-09-03 09:30:15 19107
转载 spi一些疑问的解答
在spidev.c有read write 以及spidev_message函数.分别实现半双工和全双工的功能.不过最后调用的都是spi控制器驱动的transfer函数.例如, atmel_spi_transfer() 【drivers/spi/atmel_spi.c 】 那么驱动如何判断应用程序要读还是写呢?简单,判断tx_buf或者rx_buf是否为空即可
2017-09-03 09:28:43 2168
转载 linux下SPI驱动
框架:1. LINUX SPI 核心层: 核心层代码负责这个框架中通用的部分,满足分层的思想,位于drivers/spi/spi.c。主要承担的工作包括:注册 spi总线,提供基本 SPI 总线操作 API:int spi_register_driver(struct spi_driver *sdrv);struct spi_master *spi_al
2017-09-03 09:26:39 500
转载 uart硬件一些小知识
一、什么是串口通信?串口通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。二、串口通信的分类串口通信可以分为同步通信和异步通信两类。同步通信是按照软件识别同步字符来实现数据的发送和接收,异步通信是一种利用字符的再同步技术的通信方式。2.1 同步通信同步
2017-09-03 09:11:54 4487
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人