自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 OMAP3430 sdp Linux camera driver 分析

一、文件:arch/arm/mach-omap2/board-3430sdp.c line1274(1)、/*定义I2C 的相关信息*/static struct i2c_board_info __initdata sdp3430_i2c_boardinfo_2[] = {#ifdefined(CONFIG_VIDEO_MT9P012)|| defined(CONFIG_V

2015-11-29 19:29:13 908

转载 Linux下V4L2拍照测试用例

一、源码test.c[cpp] view plaincopy#include   #include   #include   #include     int main(){    //////    int fd = open("/dev/video0",O_RDWR);    printf("TK------->>

2015-11-29 19:08:38 3544

转载 Android Camera CameraHal.cpp 初始化分析

Android Camera CameraHal.cpp 分析作为上层和底层的中转站,hal层在android中起到的作用不言而喻,针对camera的研究已经有一段时间了,这里自己还是决定静下心来好好的分析一下CameraHal.cpp这里的代码,对自己更好的理解hal与上层和底层的交互作用不可小觑,特别对理解hal与kernel driver的交互过程作用很大不多说废话了,开始今

2015-11-29 18:33:16 796

转载 Android Camera数据流分析全程记录(overlay方式二)

Android Camera数据流分析全程记录(overlay方式)这篇文章接着上一篇文章继续:http://blog.chinaunix.net/uid-26765074-id-3568436.html上一篇文章overlay这个过程已经走了一遍,但是根本是这个流程还没有走完,由上一篇文章知道,最后调用了postFrame方法,postFrame这个方法都实现了什么样的功能呢???他

2015-11-29 18:32:35 1002

转载 Android Camera数据流分析全程记录(非overlay方式)

Android Camera数据流分析全程记录花了不少时间在这个数据流的分析上面,自己毕竟没怎么做过android,这里记录一下自己的见解,任何理解错误还望高人指教,以后还需慢慢纠正整个分析过程从app的onCreate开始:packages/apps/OMAPCamera/src/com/ti/omap4/android/camera/Camera.java在onCreate中做

2015-11-29 18:31:50 1713

转载 LCD Overlays

http://processors.wiki.ti.com/index.php/Linux_Core_DSS_User%27s_GuideHardware ArchitectureThe Display Subsystem (DSS) is a hardware block responsible for fetching video and graphic ima

2015-11-29 15:55:59 816

原创 framebuffer 子系统分析

fb_info->screen_base = dma_alloc_writecombine(fbi->dev, map_size,  &map_dma, GFP_KERNEL);fb_info->screen_base  是framebuffer起始虚拟地址,也就是mmap后程序写入fb的地址,该地址会直接写入到fb_info->fix.smem_start指向的物理地址。

2015-11-29 14:22:08 2371

转载 video4linux(v4l)使用摄像头的实例基础教程与体会

1. video4linux基础相关 1.1  v4l的介绍与一些基础知识的介绍 I.首先说明一下video4linux(v4l)。        它是一些视频系统、视频软件、音频软件的基础,经常使用在需要采集图像的场合,如视频监控、webcam、可视电话,经常应用在embedded linux中,是linux嵌入式开发中经常使用的系统接口。

2015-11-29 11:52:52 2116

转载 Video4Linux 中文解析

Video4linux 中文解析 收藏•Video4linux(简称V4L),是linux中关于视频设备的内核驱动。•现在已有Video4linux2,还未加入linux内核,使用需自己下载补丁•在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写•摄像头在/dev/video0下1.打开视频设备:2. 读取设备信息3.更改

2015-11-29 11:48:06 1154

转载 Android S5PV210 camera驱动测试程序

版权声明:本文为博主原创文章,未经博主允许不得转载。最近在调试S5PV210上的camera驱动,因为对Android的samsung camera hal 不太了解,自己写了个测试程序方便调试因为camera驱动都是遵守V4L2标准,所以测试程序是通用的,在MX51平台也能工作。[html] view plaincopy#inc

2015-11-29 11:32:36 488

转载 s5k4ba摄像头驱动分析

版权声明:本文为博主原创文章,未经博主允许不得转载。s5k4ba摄像头驱动分析注释:本驱动是基于S5PV310的,但是全天下的摄像头驱动都是采用V4L2,因此驱动框架流程基本差不多。其中fimc_init_camera()函数会回调.init函数,该函数主要就是通过IIC总线来初始化摄像头模块寄存器,初始化该寄存器一般是通过写数组(由iic中的地址和数据构成)完

2015-11-28 20:01:40 1249

转载 Camera 图像处理原理分析- 抗噪 变焦 频闪 等

噪处理 AG 的增大,不可避免的带来噪点的增多,此外,如果光线较暗,曝光时间过长,也会增加噪点的数目(从数码相机上看,主要是因为长时间曝光,感光元件温度升高, 电流噪声造成感光元件噪点的增多),而感光元件本身的缺陷也是噪点甚至坏点的来源之一。因此,通常sensor集成或后端的ISP都带有降噪功能的相关设 置。 1.1.1 启动时机 根据噪点形成的原因,主要是AG或Exptime超过一定值后需要

2015-11-27 22:21:07 2952

转载 OV9650----摄像头调试笔记

http://blog.chinaunix.net/uid-24486720-id-1664850.html过4天的调试,摄像头终于可以拍照片保存到电脑上来了,ov9650的调试走了不少弯路,一些教训总结如下: 1:OV9650是OmniVision公司的COMS摄像头,号称有130万像素,但是实际效果感觉不如CCD的,特别是远处的背景更糟糕。 2:OV9650的datashe

2015-11-27 22:20:17 3260

转载 Micron sensor 驱动与调试小结

http://blog.chinaunix.net/uid-24486720-id-1664949.html驱动篇:1、 Micron sensor ISP的原理图2、 sensor 的原理框架3、Sensor 的初始化步骤4、Preview时候的sensor设置5、Capture时候的sensor设置6、工频干扰的调试7、亮度以及夜景模式调试篇

2015-11-27 22:18:16 1395

转载 手机摄像头介绍及其参数配置

手机摄像头基础知识作为手机新型的拍摄功能,内置的数码相机功能与我们平时所见到的低端 的(10万-130万像素)数码相机相同。与传统相机相比,传统相机使用“胶卷”作为其记录信息的载体,而数码摄像头的“胶卷”就是其成像感光器件,是数 码拍摄的心脏。感光器是摄像头的核心,也是最关键的技术。摄像头按结构来分,有内置和外接之分,但其基本原理是一样的。按照其采用的感光器件来分,有CCD和CMO

2015-11-27 22:15:43 7303

转载 android Camera架构浅析

1、Camera成像原理介绍Camera工作流程图Camera的成像原理可以简单概括如下:景物(SCENE)通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为电信号,经过A/D(模数转换)转换后变 为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过IO接口传输到CPU中处理,通过DISPLAY就可以看到图像了。电荷耦合器件(CCD

2015-11-27 22:15:17 409

转载 QUALCOMM平台CAMERA调试移植入门

1  camera基本代码架构    高通平台对于camera的代码组织,大体上还是遵循Android的框架:即上层应用和HAL层交互,高通平台在HAL层里面实现自己的一套管理策略; 在kernel中实现sensor的底层驱动。但是,对于最核心的sensor端的底层设置、ISP效果相关等代码则是单独进行了抽离,放在了一个 daemon进程中进行管理:图1 Qualcomm平

2015-11-27 22:10:03 1255

转载 请把Camera hold住 - Android高通平台调试Camera驱动全纪录

原文地址:项目比较紧,3周内把一个带有外置ISP,MIPI数据通信,800万像素的camera从无驱动到实现客户全部需求。1日 搭平台,建环境,编译内核,烧写代码。我是一直在Window下搭个虚拟机登服务器搞开发的,对Linux系统环境实在无爱,每每一到项目刚开始要搭环境了,内心总有点排斥,过程就比较纠结,看来以后还是要搞个linux真机玩玩。2日 编写ca

2015-11-27 21:24:47 895

转载 Android4.4深入浅出之SurfaceFlinger总体结构

Android4.4 GUI系统框架之SurfaceFlinger一.             Android GUI框架:SurfaceFlinger:每当用户程序刷新UI的时候,会中介BufferQueue申请一个buffer(dequeueBuffer),然后把UI的信息填入,丢给SurfaceFlinger,SurfaceFlinger通过计算多重计算合成visible

2015-11-22 23:30:19 1302

转载 SurfaceFlinger启动过程分析(一)、(二)、(三)、(四)【转】

文章出处:http://danielwood.cublog.cn作者:Daniel Wood SurfaceFlinger的启动过程还是从Zygote说起。Zygote起来后会调用SystemServer.java[frameworks/base/services/java/com/android/server]里面的main函数,然后调用本地函数init1()

2015-11-22 23:28:09 818

转载 Android display架构分析

Android display架构分析(一)http://hi.baidu.com/leowenj/blog/item/429c2dd6ac1480c851da4b95.html高通7系列硬件架构分析如上图,高通7系列 Display的硬件部分主要由下面几个部分组成:A、MDP高通MSM7200A内部模块,主要负责显示数据的转换和部分图像处理功能理,

2015-11-22 23:13:12 1395

转载 蓝牙的key event

上周去某手机公司面试蓝牙方面开发工作,被鄙视了,很多蓝牙底层的东西确实不了解,蓝牙实际项目经验少。有个关于蓝牙耳机的按键怎么映射到系统里面的问题,刚刚看了一下。1)如果是HFP按键,则是耳机是通过AT命令发送到手机侧的。代码位于BluetoothHandsfree.javaHang-up 命令: // Hang-up command parser.reg

2012-10-01 16:53:41 3636 2

转载 platform设备驱动全透析

1.1 platform总线、设备与驱动在Linux 2.6的设备驱动模型中,关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。一个现实的Linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、I2 C、SPI等的设备而言,这自然不

2012-09-19 21:59:51 847

转载 蓝牙bug总结(未完待续)

1)关闭/打开手机端蓝牙, 之前连接的设备(包括headset&HID etc)可以自动重连。问题,不重连。原因:--关闭蓝牙时候手机端资源清理不干净,还有链路保持连接--headset发起自动重连,但是被手机拒绝,  fix 方法:手机在蓝牙起来之后,尝试连接之前连接的设备。IO Capability Request Reply (0x01|0x002b)

2012-09-19 17:25:30 4725

转载 HID连接过程-失败的例子

2010-10-04 17:51:32.052107     bdaddr 00:22:48:85:1B:C7 ptype 0xcc18 rswitch 0x01 clkoffset 0x0000    Packet type: DM1 DM3 DM5 DH1 DH3 DH52010-10-04 17:51:32.060068 > HCI Event: Command Status (

2012-09-18 13:20:04 2760

转载 蓝牙协议的命令和事件

蓝牙协议的命令和事件(廖铮 2001年06月18日 16:21)命令下表列出蓝牙协议中从L2CAP到物理层的命令和事件映射。希望这个列表可以帮助你分析蓝牙协议中从协议高层发给较低层次的控制命令和消息命令。我们还会通过讲解一个示例来具体地说明协议高层收到连接请求时的情况。L2CAPHCILMP/BASEBAND连接和

2012-09-18 10:37:39 5119

转载 hcidump

Hcidump tool is provided by BlueZ and is a good tool to help developers to analysis protocol issues of Bluetooth for BlueZ stack.Currently, the most useful option for me is ‘sudo hcidump -XtV’. I

2012-09-18 10:33:50 3199

转载 看arm linux mm的一些总结和问题

最近在看arm linux 的mm部分,看的是2.6.8.1,芯片是INTEL PXA255,参考资料有arm linux演艺、《情景分析》等。一遍看下来只能说似懂非懂。这里有几个基础的问题,大家看看我的理解是否正确,另外还有一个小问题我没有理解。 arm 的mmu支持4K,16K,64K等几种页表和1M的段表(section),arm linux用的应该是4K(small page)页表

2012-09-13 23:17:15 1427

转载 create_mapping如何创建内存映射表

http://blog.csdn.net/huyugv_830913/article/details/58846281 ARM920T的MMU工作原理下图显示了MMU地址转化关系 一级表项的地址(pmd) = ( (TLB) & (0xFFFFC000) ) + ( (Table Index)注1:TLB(Translate table ba

2012-09-13 23:03:28 4711

转载 好资料

http://emblinux.sinaapp.com/index.html

2012-09-13 19:43:05 595

转载 linux内存管理浅析

[地址映射](图:左中)linux内核使用页式内存管理,应用程序给出的内存地址是虚拟地址,它需要经过若干级页表一级一级的变换,才变成真正的物理地址。想一下,地址映射还是一件很恐怖的事情。当访问一个由虚拟地址表示的内存空间时,需要先经过若干次的内存访问,得到每一级页表中用于转换的页表项(页表是存放在内存里面的),才能完成映射。也就是说,要实现一次内存访问,实际上内存被访问了N+1次(N=页表

2012-09-09 22:05:55 819

转载 linux_2.6.35_wait和wakeup源码阅读

写在这里只当是为了备份一下,只是匆匆的浏览了一下源码,如果您想获得些什么深刻的东西,这个肯定是没有了,就是流水帐一个。正文:在wait.h中,可以看到定义了许多wait_up相关的宏#define wake_up(x)            __wake_up(x, TASK_NORMAL, 1, NULL)#define wake_up_nr(x, nr)

2012-09-08 15:07:12 3021 1

转载 调度进程 -- schedule()

调用schedule()的时机Direct invocation(直接调用)    The scheduler is invoked directly when the current process must be blocked right away because the resource it needs is not available. In this case, the

2012-09-08 15:01:48 878

转载 更新时间片 -- scheduler_tick()

时钟中断处理程序中会调用函数scheduler_tick():    函数scheduler_tick()更新当前进程的time_slice;并根据time_slice的使用情况(剩余还是耗尽),来做进一步处理.scheduler_tick( ) Keeps the time_slice counter of current up-to-datevoid scheduler_t

2012-09-08 15:00:24 1992

转载 唤醒 -- try_to_wake_up()

唤醒操作通过函数wake_up进行,它会唤醒指定的等待队列上的所有进程。它调用函数try_to_wake_up,该函数负责将进程设置为 TASK_RUNNING状态,调用activate_task将此进程放入可执行队列,如果被唤醒的进程优先级比当前正在运行的进程的优先级高,还有设 置need_resched标志。通常哪段代码促使等待条件达成,它就负责随后调用wake_up()函数。    Th

2012-09-08 15:00:03 923

转载 从MACHINE_START开始

在学习AP20 kernel代码的时候,看到文件kernel/arch/arm/mach-tegra/board-stingray.c一个重要结构:MACHINE_START(STINGRAY, "stingray").boot_params = 0x00000100,.map_io = stingray_map_io,.reserve = stingray_res

2012-09-03 15:17:16 2394 1

转载 linux 2.6.23时钟中断与调度分析

一:前言时钟是整个操作系统的脉搏,它为进程的时间片调度,定时事件提供了依据.另外,用户空间的很多操作都依赖于时钟,例如select.poll,make. 操作系统管理的时间为分两种,一种称为当前时间,也即我们日常生活所用的时间.这个时间一般保存在CMOS中.主板中有特定的芯片为其提供计时依据.另外一种时间称为相对时间.例如系统运行时间.显然对计算机而然,相对时间比当前时间更为重要.二:

2012-09-03 14:37:12 6421

转载 高精度定时器在mips上的框架结构

大体流程:run_timer_softirqhrtimer_run_pendinghrtimer_switch_to_hrestick_setup_sched_timer hrtimer_init/*settup hr tick timer,tick-sched.c*/tick_sched_timer /*hard irq context*/plat_irq_dispa

2012-09-03 09:43:06 915

转载 arm linux下的关于time部分的说明

main.c中start_kernel()函数调用linux/arch/arm/kernel/time.c 中的time_init(),time_init函数调用include/asm-arm/arch-s3c2410/time.h中的setup_timer();其具体内容见下面函数细节。 The xtime_lock is not only serializing the x

2012-09-02 20:16:47 1169

转载 软中断/tasklet/工作队列

软中断、tasklet和工作队列并不是Linux内核中一直存在的机制,而是由更早版本的内核中的“下半部”(bottom half)演变而来。下半部的机制实际上包括五种,但2.6版本的内核中,下半部和任务队列的函数都消失了,只剩下了前三者。本文重点在于介绍这三者之间的关系。(函数细节将不会在本文中出现,可以参考文献,点这里) (1)上半部和下半部的区别上半部指的是中断处理程序,下半部则指

2012-09-01 14:11:05 1426

空空如也

空空如也

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

TA关注的人

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