自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Android常见问题debug

android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i()Log.w() Log.e() 根据首字母对应VERBOSEDEBUGINFOWARNERROR另外,Log太多时用来过滤和标识分类log信息。Java Crash Java Crash是我们最为常见的严重错误了,log中很容易可以

2016-03-07 13:58:16 548

转载 HAL Stub框架分析

深入浅出 - Android系统移植与平台开发(八)- HAL Stub框架分析    http://blog.csdn.net/mr_raptor/article/details/8074549

2016-02-23 16:07:06 708

转载 Linux下动态链接库的使用

1,所谓链接,也就是说编译器找到程序中所引用的函数或全局变量所存在的位置。一般来说,程序的链接分为静态链接和动态链接,静态链接就是把所有所引用到的函数或变量全部地编译到可执行文件中。动态链接则不会把函数编译到可执行文件中,而是在程序运行时动态地载入函数库,也就是运行链接。2,动态链接来说,需要一个动态链接库,在linux环境下一般为.so文件,我们在/lib、/usr/lib、/usr/loc

2016-01-25 17:13:30 547

转载 uevent总结

1,Android UEventObserverhttp://blog.itpub.net/7232789/viewspace-733265UEventObserver是android Java层利用uevent与获取Kernel层状态变化的机制。通过grep发现framework有如下模块使用UEventObserver的功能来提供服务:电池状态:services/jav

2016-01-20 15:04:20 1959

转载 EXTRA_CFLAGS += -D 与CONFIG_ =y

EXTRA_CFLAGS += -D 与CONFIG_ =y1.假如定义一个宏CONFIG_DEBUG在.c里面定义为:#define CONFIG_DEBUG在makefile里定义为: CONFIG_DEBUG=y假如说我们想在makefile里为.c文件进入一个宏定义,就用EXTRA_CFLAGS += DCONFIG_DEBUG( 等价于在.c文件里定义

2016-01-18 16:53:37 2818

转载 手机指纹调试知识

1.指纹识别基本原理:随着移动支付的兴起和生物识别技术的发展,指纹识别因其便捷性、实用性、可靠性以及相对成熟的技术,逐渐成为智能手机上的标配。(1)主流识别方式光学式:光学识别是最老的指纹识别技术。常见的指纹打卡、指纹门禁都是光学式的,体积大、反应慢,对手指的干净要求很高,目前不适合移动智能终端。电容式:电容式指纹传感器是目前在智能手机上应用最普遍的。以技术面来看,电容

2015-12-29 11:40:54 2559

原创 项目摄像头问题记录备注

1,ois调试中遇到的问题.在X1220项目中刚开始使用的是艾森美的ois,I2C通信到没出现什么问题,主要是ois初始化和马达驱动的适配,再就是设计接口,实现不同sensor的不同ois兼容.起初,ois的补偿角度是0.5度后改为1度后效果更明显,ois有两种模式1)still,2)movie,补偿频率6HZ.          因为也是第一次接触OIS技术,对其理论原理,软件实现具体流程,

2015-12-07 15:00:58 381

原创 对MTK的pdaf对焦方式的分析

上周五分析了下mt6752的pdaf对焦规律,以前一直认为pdaf对焦不可能准到一步到位,应该是走到清晰点附近后再用CAF(反差式)对焦到最清晰点. 但通过log查看,感觉应该是分几种情况,如果pdaf的可信度高,比如色彩分明,环境亮度高,则可以一步到位,但到位后,pdaf会在清晰问题再次进行pdaf确认,如果确认是清晰的则就停在此位置,反之则继续移动(每次停留两帧,猜测应该是一帧无法获取准确的p

2015-12-07 14:17:44 4599 1

转载 手机mipi数据传输

如下转自http://blog.163.com/zz_forward/blog/static/2128982222012869180987随着客户要求手机摄像头像素越来越高,同时要求高的传输速度,传统的并口传输越来越受到挑战。提高并口传输的输出时钟是一个办法,但会导致系统的EMC设计变得越来困难;增加传输线的位数是,但是这又不符合小型化的趋势。采用MIPI接口的模组,相较于并口具有速度

2015-12-02 17:10:52 3337 1

原创 激光对焦

之前预研过激光对焦,demo已经做好了,对焦速度和准确度都还不错,但因为激光测距对矿泉水瓶等透明或反射性强的物体容易测距不准,再加上其他一些因素最终未能量产到项目,在此简单记录一下,以备查询.         主要是利用stmvl6180来红外激光测距(int LaserEvents::PreLaserAFCode(int Laserdist){//Laserdis

2015-12-02 16:28:33 2565

原创 超出曝光的曝光时间计算

根据项目需要,在IMX214的sensor上实现超出曝光,简单的做法就是创建一个属性节点,上层通过属性节点来操作超出曝光,通过测试,可以达到预期的效果,不过所用时间都是微秒级的,所以需要注意变量类型,再就是,MTK的32平台最长曝光时间是4-5s,超过这个时间,ISP就会自动重启.static kal_uint32 CalcInus(void) {  kal_uint3

2015-12-01 18:08:26 1723

原创 体验旋转摄像头

备忘录今天体验了N3,小结如下:1,向上轻推不松手就一直慢速往前翻,向下轻推不松手就一直往后翻。向上快速滑动就往前翻到底,向下快速滑动就往后翻到底。慢速翻转时,转动角度精度看起来做的很好。用户可以很轻松转到想要的角度。2,机器不知道当前摄像头所处的角度位置。掰开一定角度再快速翻转,能明显听出马达受阻。估计N3就是直接转个全角度。慢速翻转不松手,角度到底后,能听到咔咔声一

2015-12-01 17:42:27 545

原创 对焦过程不拍照的实现---mtk

之前用户经常有反馈手机拍照模糊,但我们自己根据用户的场景测试发现拍照并不会像用户说的那样拍照模糊,经过反复测试对比等,发现很可能是用户不太留意对焦的问题,拿出手机随机拍照,不会等对焦结束或者对焦清晰后再拍照.为了解决这个问题,想到让用户在对焦过程中不拍照,等对焦完成后再响应用户的拍照动作,因为对焦时间很短,所以并不会给用户感觉拍照有明显的延迟,但会明显减少用户拍照模糊的情况.通过查看代码和log,

2015-12-01 17:23:58 1005

原创 MTK的camera启动时间

[  522.991694][thread:184][RT:522981745107] 2014-12-31 16:03:15.683756 UTC; android time 2015-01-01 00:03:15.683756522.99169---2015.01.01 00:03:15.68375601-01 00:03:16.579   883   943

2015-11-30 11:27:17 1915

原创 1220项目摄像头问题记录备注

1,ois调试中遇到的问题.在X1220项目中刚开始使用的是艾森美的ois,I2C通信到没出现什么问题,主要是ois初始化和马达驱动的适配,再就是设计接口,实现不同sensor的不同ois兼容.起初,ois的补偿角度是0.5度后改为1度后效果更明显,ois有两种模式1)still,2)movie,补偿频率6HZ.          因为也是第一次接触OIS技术,对其理论原理,软件实现具体流程,

2015-11-30 10:35:46 681

转载 深入理解Android 卷I 第五章---深入理解常用类

第5章深入理解常见类本章涉及的源代码文件名称及位置下面是本章分析的源码文件名和它的位置。RefBase.h(framework/base/include/utils/RefBase.h)RefBase.cpp(framework/base/libs/utils/RefBase.cpp)Thread.cpp(framework/base/libs/utils/Thread.c

2015-11-23 13:43:51 1380

转载 Android sp & sp

文一:转:http://wangjun-1985.spaces.live.com/blog/cns!E9070276AAF56C8E!472.entry在android 中可以广泛看到的template class Sp 句柄类实际上是android 为实现垃圾回收机制的智能指针。智能指针是c++ 中的一个概念,因为c++ 本身不具备垃圾回收机制,而且指针也不具备构造函数和析构函数

2015-11-21 15:00:33 890

转载 Android 线程的C++封装,使用

前段时间使用Android对线程的C++封装时出了一点小问题,简单总结一下。希望能帮助大家避免和我犯一样的错误~~Android对Thread的C++封装,见源码/frameworks/base/include/utils/threads.h如何封装,点击链接 http://blog.csdn.net/yili_xie/article/details/4

2015-11-21 11:41:23 459

转载 嵌入式Linux C笔试题积累 .

http://blog.csdn.net/h_armony/article/details/67648111.   嵌入式系统中断服务子程序(ISR)  中断是嵌入式系统中重要的组成部分,这导致了很 多编译开发商提供一种扩展—让标准C支持中断。具代表事实是,产生了一个新的关键字 __interrupt。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(I

2015-03-10 15:00:17 2506

转载 make menuconfig/.config/Kconfig解析

在对linux进行编译,常用的命令是make menuconfig,使用图形界面来对整个系统进行裁剪。当然,除了这条指令,还包括很多配置命令,比如make defconfig, make oldconfig等。这里主要就make menuconfig的执行过程进行解析。一.准备工作包括(交叉)编译环境的建立,linux源码的下载与解压等。二.初步介绍         跟make m

2015-02-04 13:57:19 562

转载 Binder使用示例

BInder方面的资料虽然感觉看的比较多,但是真正用的时候才发现有很多地方模棱两棵的,所以,打算用一个实例再来巩固一下binder的使用方法首先看下目录结构:01.leaves@leaves-desktop:~/android/android2/android/frameworks/tv_print/services$ ls T* 02.TestBinderClient:  0

2015-01-14 11:18:34 599

转载 如何利用Video4Linux获取摄像头数据

Video4Linux是Linux下用于获取视频和音频数据的API接口,在这篇文章中,着重阐述如何利用Video4Linux获取摄像头数据,以实现连续影像的播放。1. 摄像头的安装 在 Linux下常用的摄像头驱动是spca5xx, 这是一个通用驱动,读者可以在以下网站下到这个驱动 http://mxhaard.free.fr/download.html。这个网站还给出了这款驱动支持的

2015-01-09 17:22:14 616

转载 V4L2应用程序框架

V4L2较V4L有较大的改动,并已成为2.6的标准接口,函盖video\dvb\FM...,多数驱动都在向V4l2迁移。更好地了解V4L2先从应 用入手,然后再深入到内核中结合物理设备/接口的规范实现相应的驱动。本文先就V4L2在视频捕捉或camera方面的应用框架。V4L2采用流水线的方式,操作更简单直观,基本遵循打开视频设备、设置格式、处理数据、关闭设备,更多的具体操作通过ioctl函

2015-01-09 17:20:06 462

转载 Linux的视频编程(v4l2编程)

一.什么是video4linuxVideo4linux2(简称V4L2),是linux中关于视频设备的内核驱动。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。二、一般操作流程(视频设备):1. 打开设备文件。 int fd=open(”/dev/video0″,O_RDWR);2. 取得设备的capability,看看设备

2015-01-09 17:15:20 502

转载 视频与图像RGB/YUV格式详解

根据三基色原理,任意一种色光F都可以用不同分量的R、G、B三色相加混合而成。F = r [ R ] + g [ G ] + b [ B ]  其中,r、g、b分别为三基色参与混合的系数。当三基色分量都为0(最弱)时混合为黑色光;而当三基色分量都为k(最强)时混合为白色光。调整r、g、b三个系数的值,可以混合出介于黑色光和白色光之间的各种各样的色光。  那么YUV又从何而来呢?在现代彩色

2015-01-09 16:49:37 1564

转载 YUV420图像格式

YUV中的Y是指“灰度”或者“明亮度” ,英语表达为Luminance、Luma,luminance 表示为 Y, luma 表示为 Y'。Y与RGB的演算关系为:Y = 0.2126 R + 0.7152 G + 0.0722 B,Y' = 0.2126 R' + 0.7152 G' + 0.0722 B' ,符号' 表示使用了Gamma compression。(参见http://en.wik

2014-11-20 11:23:57 966

转载 标准光源

人造的标准光源主要有如下10种类型:模拟蓝天日光——D65光源 色温:6500KD65--国际标准人工日光(Artificial Daylight) 色温:6500K 功率:18W模拟北方平均太阳光——D75光源 色温:7500K模拟太阳光——D50光源 色温:5000K模拟欧洲商店灯光——TL84光源 色温:4000KTL84--欧洲、日本、中国商店光源 色温:4000K 功

2014-10-28 16:41:32 1080

原创 mediaserver

frameworks\av\media\mediaserver\

2014-10-08 20:48:15 1420

转载 pthread_join/pthread_exit用法实例

函数pthread_join用来等待一个线程的结束。函数原型为:  extern int pthread_join __P ((pthread_t __th, void **__thread_return));  第一个参数为被等待的线程标识符,第二个参数为一个用户定义的指针,它可以用来存储被等待线程的返回值。这个函数是一个线程阻塞的函数,调用它的线程将一直等待到被等待的线程结束为止,当函

2014-09-13 15:17:03 621

转载 CCT之CAMERA TUNNING调试学习总结

对于MT6589平台camera调试的学习总结,camera调试学习的是对于raw类sensor的调试,对于yuv格式的sensor是由FAE帮助我们调试的。  首先在调试一个camera 之前要准备好调试所需要的环境,实验室是必须的,另外还要有调试的工具安装。调试camera之前要确保安装好三个工具:1.CCT (Camera Calibration Tool)camera的大部分调试工

2014-09-13 15:15:20 1657 1

转载 信号量

linux信号量机制(semaphore)  信号量本质上是一个非负的整数计数器,它被用来控制对公共资源的访问。当公共资源增加时,调用函数sem_post()增加信号量。只有当信号量值大于0时,才能使用公共资源,使用后,函数sem_wait()减少信号量。函数sem_trywait()和函数pthread_ mutex_trylock()起同样的作用,它是函数sem_wait()的非阻塞版

2014-09-13 15:13:52 667

转载 Mutex::AutoLock介绍

互斥类—MutexMutex是互斥类,用于多线程访问同一个资源的时候,保证一次只有一个线程能访问该资源。在《Windows核心编程》①一书中,对于这种互斥访问有一个很形象的比喻:想象你在飞机上如厕,这时卫生间的信息牌上显示“有人”,你必须等里面的人出来后才可进去。这就是互斥的含义。下面来看Mutex的实现方式,它们都很简单。(1)Mutex介绍其代码如下所示:[-->Threa

2014-09-13 15:10:35 570

原创 mtk camera 移植步骤

mtk camera 移植步骤:1, Kernel层驱动代码文件添加/mediatek/custom/doov92_wet_tdd/kernel/imgsensor/下添加imx179_mipi_raw_2lane/  目录如下:imx179_mipi_raw_2lane         - imx179mipiraw_Camera_Sensor_para_2lane.h 

2014-09-13 11:38:23 3734

转载 手机闪光灯LED选择

由于圣邦微闪光灯驱动:SGM314X和SGM378X系列需求越来越多,很多客户对LED灯的选择不知并不明了;其实对于灯选择来讲,他涉及的指标还是蛮多的,譬如:视角,色温,流明,承受电流,热设计,闪光寿命等等, 最近经常碰到一些朋友问闪光灯和圣邦微闪光灯驱动怎样配合的问题,就电器性能,现简单浅聊一下:       对于闪光灯驱动,其实他很简单,首先要的两个关键指标是:Torch电流和Fl

2014-09-09 11:05:02 975

原创 android mtk6732 camera otp 加载流程

在android的hal层    //====== Get Property ======    char value[PROPERTY_VALUE_MAX] = {'\0'};        property_get("camcaldrv.log", value, "0");    MINT32 dumpEnable = atoi(value);    //====== Ge

2014-09-05 16:49:54 4831

空空如也

空空如也

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

TA关注的人

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