自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wang714818的博客

不管周围环境如何,起决定性的永远是自己

  • 博客(35)
  • 收藏
  • 关注

转载 camera基本知识

一 Camera模组          大家都知道,手机背面的那个小小的孔,就叫摄像头。这个小孔幽幽的泛着光泽,深邃又迷人,如同一个含苞待放的小萝莉一样,这个小萝莉还是个傲娇娘,像零之使魔的614一样惹人怜爱,而且在小萝莉身体里面,不对,是在小孔的里面,还有层膜…..哦,这是镀膜。 看了上面一段大家别惊慌,我不是猥琐的宅男,我也有女朋友的……她叫姐崎宁宁……囧! 回到正题来吧。

2017-09-25 19:11:01 15970 6

转载 mtk的camera调试问题

1)读不到ID,这种情况,首先排除硬件部分,如模组没焊接好(有时是数据总线或者I2C或者其它控制线)。其次就是上电时序没上正确。(2)前后置摄像头切换有问题:这种情况一般是在上前置camera时没将后置camera的PDN设成不工作引起的。同样上后置camera时没将前置摄像头PDN设成不工作。这样会引起在切换到前置或后置时另外一个sensor仍然有数据输出,到ISP报ANR错误。

2017-09-22 13:20:41 5409

转载 mtk6737如何改差值文件

一、.背景介绍图像比例拍出图像像素代码中字串id相机界面显示像素(英文)4:3320x240@string/pref_camera_picturesize_entry_320x240QVGA640x480@string/pref_camera_picturesize_entry_640x

2017-09-21 11:08:09 891

转载 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 3317

转载 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 3405 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 4966

转载 set_gain(gain);

gain:信号增益(Gain)。如果光线暗,就需要提高感光度即加大增益,这会降低信噪比,感光度当然是越高越好哦1、数码成像的画质纯净度(噪点程度)有三项技术决定,一是传感器光电转换技术(ADC技术),二是传感器信噪比技术(SNR技术),三是图像处理器技术;2、光电转化技术。传感器的工作原理是将镜头采得的光元素转化为电信号,传感器的电压、电流、温度、压力等技术都关系到探测到的信号,然后通过A

2017-09-17 21:29:59 1688

转载 VSYNC与HSYNC与PCLK与什么有关系

在手机平台,LCD,Camera,TV的接线上,都会用到PCLK,VSYNC和HSYNC这三个信号。可见这三个信号和显示关系非常大。首先我们先看这三个信号的作用:PCLK:有些方案给他起名字叫:DotCLK。是像素点同步时钟信号。也就是每个PCLK对应一个像素点。VSYNC:是场同步信号。以高电平有效为例,VSYNC置高直到被拉低,这个区段所输出的所有影像数据组成一个frame。

2017-09-17 19:38:15 7537

转载 MTK 前后使用相同类型的Camera

由于实际项目开发中,前后摄像头使用前后相同类型的Camera,前后Camera经FAE优化使得驱动参数不一致,此时需要使用两份不同的驱动文件;这就涉及到如何在同一款camera上同时使用两套不同的驱动;硬件电路跟上一篇是一致的就不重复帖图了,请看:MTK Camera驱动移植驱动兼容原则:“另外一份驱动使用自定义sensor ID 和sensor name中,在系统读取

2017-09-17 09:16:55 621

转载 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 799

转载 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 203

转载 如何把已经提交的commit, 从一个分支放到另一个分支

实际问题:在本地 master 分支上做了一个commit ( 38361a68138140827b31b72f8bbfd88b3705d77a ) , 如何把它放到本地 old_cc 分支上?办法之一: 使用 cherry-pick. 根据git 文档:Apply the changes introduced by some existing commits就是对

2017-09-11 16:01:08 1591

转载 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 1288

转载 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 908

转载 MIPI DSI协议介绍

一、MIPIMIPI(移动行业处理器接口)是Mobile Industry Processor Interface的缩写。MIPI(移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准。已经完成和正在计划中的规范如下: 二、MIPI联盟的MIPI DSI规范1、名词解释• DCS (DisplayCommandSet):DC

2017-09-06 13:54:29 490

转载 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 1369

转载 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 2449

转载 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 13793

转载 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 4136

转载 开机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 3140

转载 MTK的lcm背光流程和客制化

在梳理代码时,感觉 MTK 的代码中公共部分和客制化部分分的还是很清楚的。 首先说明一下文档的结构,我们先介绍我们客制化的地方,因为这个才是我们实际调试及解决 bug 时真正要关心的,而平台端不需要客制化的代码只需要梳理清楚就行。背光流程中,客制化与否的分界文件是 cust_leds.c (vendor\vendor\mediatek\proprietary\bootable\bo

2017-09-04 17:25:30 1922

转载 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 1676 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 935

转载 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 4694

转载 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 1351

转载 关于mmap()函数的用户和驱动的一点总结

前言:内存映射,简而言之就是将用户空间的一段内存区域映射到内核空间,映射成功后,用户对这段内存区域的修改可以直接反映到内核空间,同样,内核空间对这段区域的修改也直接反映用户空间。那么对于内核空间用户空间两者之间需要大量数据传输等操作的话效率是非常高的。以下是一个把普遍文件映射到用户空间的内存区域的示意图。图一:用户空间:mmap函数是unix/Linux下的系统

2017-09-03 09:47:16 867

转载 c面试考点

一、 想说一说关于集中数据类型的sizeof问题,这题出现率40%sizeof就是求在内存总占多少字节的问题,最基本的char 1字节 short 2字节 int 4字节任何的指针都是4字节    sizeof(数组名)=数组占的大小(这里必须注意虽然数组名可作为只想数组首地址的指针,但是sizeof(数组名)求得的不是指针的大小,而是数组大小)还有就是sizeof(结构体)    s

2017-09-03 09:43:42 284

转载 dmesg命令

dmesg命令-->用来显示开机信息, kernel会将开机信息存储在ring buffer中。开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log/dmesg【dmesg命令作用】: 有时候屏幕上的启动信息一闪而过,我们无法查看到具体信息,又或者服务器在电信机房,更看不到开机启动信息。这时候Linux提供了dmesg这条命令。在命令行下敲

2017-09-03 09:38:42 1424

转载 linux下UART的应用层编程及测试小程序

//串口相关的头文件    #include      /*标准输入输出定义*/    #include     /*标准函数库定义*/    #include     /*Unix 标准函数定义*/    #include     #include       #include      /*文件控制定义*/    #include    /*PPSIX 终端控制定义

2017-09-03 09:35:27 1770

转载 linux内核和用户通信

linux驱动程序一般工作在内核空间,但也可以工作在用户空间。下面我们将详细解析,什么是内核空间,什么是用户空间,以及如何判断他们。  Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,linux的虚拟地址空间也为0~4G.Linux内核将这4G字节的空间分为两部分。将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为"内核空间".而将较

2017-09-03 09:34:00 906

转载 linux驱动面试题

二:linux内核原理面试必问(由易到难)简单型1:linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些?2:linux中内存划分及如何使用?虚拟地址及物理地址的概念及彼此之间的转化,高端内存概念?3:linux中中断的实现机制,tasklet与workqueue的区别及底层实现区别?为什么要区分上半部和下半部?4:linux中断的响应执行流程?中断的

2017-09-03 09:31:29 614

转载 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 18245

转载 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 2098

转载 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 459

转载 uart硬件一些小知识

一、什么是串口通信?串口通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。二、串口通信的分类串口通信可以分为同步通信和异步通信两类。同步通信是按照软件识别同步字符来实现数据的发送和接收,异步通信是一种利用字符的再同步技术的通信方式。2.1 同步通信同步

2017-09-03 09:11:54 4310

空空如也

空空如也

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

TA关注的人

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