自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

转载 RGB、YUY2、YUYV、YVYU、UYVY、AYUV格式详解

计算机彩色显示器显示色彩的原理与彩色电视机一样,都是采用R(Red)、G(Green)、B(Blue)相加混色的原理:通过发射出三种不同强度的电子束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生色彩。这种色彩的表示方法称为RGB色彩空间表示(它也是多媒体计算机技术中用得最多的一种色彩空间表示方法)。根据三基色原理,任意一种色光F都可以用不同分量的R、G、B三色相加混合而成。F =

2014-11-18 17:11:23 1111

转载 YUV格式详解

YUV是指亮度参量和色度参量分开表示的像素格式,而这样分开的好处就是不但可以避免相互干扰,还可以降低色度的采样率而不会对图像质量影响太大。YUV是一个比较笼统地说法,针对它的具体排列方式,可以分为很多种具体的格式。转载一篇对yuv格式解释的比较清楚地文章,也可以直接参考微软的那篇文章。对于YUV格式,比较原始的讲解是MPEG-2 VIDEO部分的解释,当然后来微软有一个比较经典的解释,中文

2014-11-18 17:08:24 373

转载 基于Linux 3.0.8 Samsung FIMC(S5PV210) 的摄像头驱动框架解读(一)

FIMC这个名字应该是从S5PC1x0开始出现的,在s5pv210里面的定义是摄像头接口,但是它同样具有图像数据颜色空间转换的作用。而exynos4412对它的定义看起来更清晰些,摄像头接口被定义为FIMC-LITE 。颜色空间转换的硬件结构被定义为FIMC-IS。不多说了,我们先来看看Linux3.0.8 三星的BSP包中与fimc驱动相关的文件。上面的源

2014-10-11 18:02:54 922

转载 FS_S5PC100平台上Linux Camera驱动开发详解(一)

说明:        理解摄像头驱动需要四个前提:        1)摄像头基本的工作原理和S5PC100集成的Camera控制器的工作原理        2)platform_device和platform_driver工作原理        3)Linux内核V4L2驱动架构        4)Linux内核I2C驱动架构1. 摄像头工作原理OV96

2014-09-29 11:18:56 753

转载 S5PV210 三个Camera Interface/CAMIF/FIMC的区别

S5PV210有三个CAMIF单元,分别为CAMIF0 CAMIF1和CAMIF2。对应着驱动中的fimc0, fimc1, fimc2。在三星datasheet和驱动代码中CAMIF和FIMC(Fully Interactive Mobile Camera)这两个术语基本上可以互换的,后面我们都用FIMC代替CAMIF。这两个术语的称呼有很强的模糊性,尤其刚刚接触三星平台,会觉得这三个接口设备都

2014-09-29 11:17:50 426

转载 v4L2 soc-camera 分析 - soc_camera.c

soc_camera.c[cpp] view plaincopy1455 static struct platform_driver __refdata soc_camera_pdrv = {  1456     .remove  = __devexit_p(soc_camera_pdrv_remove),  1457     .

2014-09-25 09:01:50 813

原创 Linux 2.6 kernel 中的makefile 中文翻译

熟悉内核的Makefile对开发设备驱动、理解内核代码结构都是非常重要的linux2.6内核Makefile的许多特性和2.4内核差别很大,在内核目录的documention/kbuild/makefiles.txt中有详细的说明。给大家一个中文版的翻译=== 目录        === 1 概述    === 2 用户与作用        === 3 Kbuild文件

2014-09-11 17:06:23 447

转载 KBuild MakeFile介绍

从Linux内核2.6开始,Linux内核的编译采用Kbuild系统,这同过去的编译系统有很大的不同,尤其对于Linux内核模块的编译。在新的系统下,Linux编译系统会两次扫描Linux的Makefile:首先编译系统会读取Linux内核顶层的Makefile,然后根据读到的内容第二次读取Kbuild的Makefile来编译Linux内核。Linux内核Makefile分类·  

2014-09-11 16:39:11 365

转载 Linux内核构建系统之-Kconfig文档的作用

2.6内核的源码树目录下一般都会有两个文文:Kconfig和Makefile。分布在各目录下的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成)中。在内核编译时,主Makefile调用这个.

2014-09-11 16:38:17 347

转载 module_param内核模块参数传递

在用户态下编程可以通过main()的来传递命令行参数,而编写一个内核模块则通过module_param() 参数用 moudle_param 宏定义来声明, 它定义在 moduleparam.h.module_param(name,type,perm);module_param 使用了 3 个参数: 变量名, 它的类型, 以及一个权限掩码用来做一个辅助的 sysfs 入口(

2014-09-11 16:38:00 413

转载 Linux内核配置文件.config与Makefile

==========================================Makefile 初探 ==========================================Linux的内核配置文件有两个,一个是隐含的.config文件,嵌入到主Makefile中;另一个是include/linux/autoconf.h,嵌入到各个c源文件中,它们由make conf

2014-09-11 16:34:09 1763

转载 tiny6410按键platform(平台)驱动的实现

tiny6410中的按键驱动没有提供按键的platform驱动,于是闲来无事把/drivers/char/mini6410_buttons.c给移植成platform驱动,下面是整个的移植过程: 1.首先在 /arch/arm/mach-s3c64xx 目录下添加我们的按键device,文件名定为dev-buttons.c,其源码为:#include #include 

2014-09-11 14:40:24 363

转载 camera 驱动 GT2005

一、摄像头驱动我们以GT2005为例,来讲述一个摄像头驱动的调试过程:摄像头和主控的关系图,如下:摄像头驱动比较简单,完成一面三大步就可以:摄像头的上电、时钟这些基本条件;IIC保证摄像头的初始化;摄像头工作后传回数据到主控。完成这三个步骤就完成了摄像头基本工作的调试。1、 摄像头的上电、时钟这些基本条件的实现

2014-09-06 16:18:06 554

转载 camera V4L2 FIMC

前面两篇说的有点多了,不过多了解点东西也挺好的,遇到问题时可以有更多的思路,真正驱动是从这一块开始。一般BSP的camera都是完好的,我们只用关心驱动这些就可以了。1. V4L21)简介        在Linux中,摄像头方面的标准化程度比较高,这个标准就是V4L2驱动程序,这也是业界比较公认的方式。        V4L全称是Video for Lin

2014-09-06 16:16:57 411

转载 摄像头工作原理、s5PV310 摄像头接口(CAMIF)

一、摄像头工作原理上一篇我们讲了摄像头模组的组成,工作原理,做为一种了解。下面我们析摄像头从寄存器角度是怎么工作的。如何阅读摄像头规格书(针对驱动调节时用到关键参数,以GT2005为例)。规格书,也就是一个器件所有的说明,精确到器件每一个细节,软件关心的寄存器、硬件关心的电气特性、封装等等。单单驱动方面,我们只看对我们有用的方面就可以了,没必要全部看完。主要这样资料全都是鸟语(En

2014-09-06 16:16:06 868

转载 camera模组CMM介绍

一、摄像头模组(CCM)介绍:1、camera特写    摄像头模组,全称CameraCompact Module,以下简写为CCM,是影像捕捉至关重要的电子器件。先来张特写,各种样子的都有,不过我前一段时间调试那个有点丑。2、摄像头工作原理、camera的组成各组件的作用想完全的去理解,还得去深入,如果是代码我们就逐步分析,模组的话我们就把它分解开来,

2014-09-06 16:12:50 638

转载 V4L2的soc-camera子系统

soc-camera的作者之所以引入这个子系统,我想一个主要目的就是把camera驱动划分为camera host端,camera device端,这样同一个camera sensor驱动就可以方便的移植到多个camera host下,而无须做较多的改动。本译文取自kernel文档:Documentation/video4linux/soc-camera.txt

2014-09-06 11:08:43 508

转载 V4L2 soc-camera 数据结构

[cpp] view plaincopystatic LIST_HEAD(hosts)  所有的host都在hosts指向的链表上[cpp] view plaincopystatic LIST_HEAD(devices);  所有soc camera device都挂在devices指向的链

2014-09-06 11:07:46 432

转载 soc_camera.c分析

soc_camera.c[cpp] view plaincopy1455 static struct platform_driver __refdata soc_camera_pdrv = {  1456     .remove  = __devexit_p(soc_camera_pdrv_remove),  1457     .

2014-09-06 11:04:34 568 1

转载 V4l2中soc_camera框架图

图1 soc camera 子系统 系统架构图Soc camera sub-system对应着drivers/media/video/下的soc_camera.c soc_camera_platform.cSoc camera host 是host端实现,是由平台厂商实现的,向上实现soc_camera_host_ops接口,向下操作Camera host硬件以及通

2014-09-06 11:04:07 705

转载 V4L2 soc-camera 分析 - 调用关系

应用层通过设备节点/dev/videoX打开video4linux devices。/dev/videoX是一个字符设备,主设备号81,次设备号: (0~63)分配给capture设备,64~127分配给radio设备,223~255分配给VBI设备,128~191分配给其他类型的。如果驱动要注册一个video4linux设备,那么需要调用video_register_device函数。

2014-09-06 11:03:34 407

转载 v4l2框架

1、概述Video4Linux2是Linux内核中关于视频设备的内核驱动框架,为上层的访问底层的视频设备提供了统一的接口。凡是内核中的子系统都有抽象底层硬件的差异,为上层提供统一的接口和提取出公共代码避免代码冗余等好处。就像公司的老板一般都不会直接找底层的员工谈话,而是找部门经理了解情况,一个是因为底层屌丝人数多,意见各有不同,措辞也不准,部门经理会把情况汇总后再向上汇报;二个是老板时间宝

2014-09-06 11:02:57 513

转载 Linux视频设备驱动常用控制命令使用说明

Linux视频设备驱动常用控制命令使用说明设置视频设备属性通过ioctl来进行设置,ioctl有三个参数,分别是fd, cmd,和parameter,表示设备描述符,控制命令和控制命令参数。1. 控制命令VIDIOC_QUERYCAP功能: 查询设备驱动的功能 ;参数说明:参数类型为V4L2的能力描述类型struct v4l2_capability;struct v4l

2014-08-26 15:54:01 386

转载 Source Insight 的应用技巧

目录版本记录... 2目录... 31 简介... 52 搭建我们的SI环境... 52.1 搭建步骤... 52.2 说明... 63 应用技巧... 63.1 初级应用技巧... 63.1.1 解决字体不等宽与对齐的问题... 63.1.2 把TAB变成4个空格... 73.1.3 更改背景色... 7

2014-04-07 15:59:01 772

转载 linux驱动中probe函数何时被调用?

2010-10-31 09:50:25|  分类: 面试总结|举报|字号 订阅声明:以下主要内容参考自:关于struct device_driver结构中的probe探测函数的调用http://blog.chinaunix.net/u2/71164/showart.php?id=1361188用SourceInsight跟踪:从driver_re

2014-04-07 15:52:22 488

转载 linux i2c驱动架构(史下最全) davinc dm368 i2c驱动分析

linux i2c驱动架构(史上最全) davinc dm368 i2c驱动分析预备知识在阅读本文最好先熟悉一种i2c设备的驱动程序,并且浏览一下i2c-core.c以及芯片提供商的提供的i2c总线驱动(i2c-davinci.c)。标题党请见谅!其实i2c接口非常的简单,即使用51单片的gpio来模拟i2c,编写一个e2prom或者其他i2c接口的驱动程序,也不是什么难事,几

2014-04-01 14:46:34 524

转载 v4l2的开发详细步骤

原文:http://hi.baidu.com/xiaojian009/blog/item/99a0610876cacd35b1351d26.html前言:目前正在忙于ARM平台的Linux应用程序的开发(其实是刚刚起步学习啦)。底层的东西不用考虑了,开发板子提供了NAND Bootloader,和Linux 2.6的源码,而且都编译好了。自己编译的bootloader可以用,但是Lin

2014-03-28 17:50:45 535

转载 Linux __setup解析

__setup这条宏在Linux Kernel中使用最多的地方就是定义处理Kernel的启动参数的函数及数据结构,宏定义如下:#define __setup(str, fn) \__setup_param(str, fn, fn, 0)#define __setup_param(str, unique_id, fn, early) \static char __setup_st

2014-03-27 17:13:48 523

原创 GIT初试

13年10月31日对GIT进行了初步的实验,以下是对GIT初试的一个简单总结。其中包括常用命令的使用方法。1> 注册“name”和“email”等个人信息。在使用git管理工程之前要登记自己的“name”和“email”等信息,以标记这个工程是“name”用户管理的。1. git config –global user.name “myname”命令来告诉g

2014-03-27 17:05:19 449

转载 DSP的EMIF接口通信FPGA

DSP通过EMIF接口与FPGA通信采集视频  背景     使用FPGA系统进行视频采集,DSP进行视频处理需要了解以下知识:1.  DSP-C6000系列的中断与GPIO系统2.  DSP-C6000系列的EMIFA模块3.  DSP-C6000系列的EDMA模块4.  FPGA的乒乓RAM5.  一种视频格式(例如VGA,PAL等)6.  视频处理算法

2014-03-27 16:56:04 17821 4

转载 修改TI Davinci IPNC显示的OSD LOGO

最近需要修改Davinci本地输出显示的Logo,但是TI的Software OSD on DM36x User Guide写得很模糊,很多东西都不全,于是决定绕开TI提供的工具,使用开源社区的工具重新制作一遍。1. 生成一副160x64的jpeg图片这里推荐用Ubuntu下的GIMP工具,不过也可以用其他工具2. 将160x64的jpeg图片转换成yuv422这里

2014-03-26 15:04:18 1040

转载 LCD 驱动

基本原理通过 framebuffer ,应用程序用 mmap 把显存映射到应用程序虚拟地址空间,将要显示的数据写入这个内存空间就可以在屏幕上显示出来;驱动程序分配系统内存作为显存;实现 file_operations 结构中的接口,为应用程序服务;实现 fb_ops 结构中的接口,控制和操作 LDC 控制器;驱动程序将显存的起始地址和长度传给 LCD 控制器的寄存器 (一般由 fb_set

2014-03-26 11:18:47 400

转载 davinci平台Uboot移植

一、DM36X的BOOT过程介绍DM36x的BOOT过程和DM6446、DM6467完全是一样的,因为都是ARM926EJS架构,里边都有一个RBL,这RBL在芯片出厂的时候都烧写在ROM里,芯片上电复位后RBL在运行,然后读取BOOT MODE引脚的电平状态,决定是从NAND FLASH还是从 MMC/SD、UART 、USB、 SPI、 EMAC、HPI中之一的方式BOOT,具体见

2014-03-26 10:57:00 855

原创 标准I2C设备工作流程

I2C读写流程         系统中相机输出视频信号通过BNC接口流向TVP5146,TVP5146完成模拟信号向数字信号的转换过程。而TVP5146参数的设置需要通过I2C总线完成。以下是对I2C简单的说明,主要从I2C总线特点、常用命令和工作时序三方面来说明。一 I2C总线特点1、只要求两条总线线路:一条串行数据线SDA,一条串行时钟线SCL;2、每个连接到总线的器件都可

2014-03-26 10:48:52 2165

转载 Git学习教程(七) Git差异比对

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://fsjoy.blog.51cto.com/318484/245465第七课 Git差异比对内容提要:显示项目的两个不同版本之间的差异,或者显示指定文件的不同之处 在‘git日志’一课中,我们通过'git log -p'命令来显示每一次提交与其父节点提交内容之

2014-03-26 10:43:28 576

转载 Git学习教程(六)Git日志

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://fsjoy.blog.51cto.com/318484/245261第六课 Git 日志内容提要:浏览项目历史,查询指定提交内容,图形化显示分枝和合并...'git log'是git中最常用的一个命令,执行之后,会显示该项目的提交历史。如果命令不加任

2014-03-26 10:42:48 655

转载 Git学习教程(五):Git标签

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://fsjoy.blog.51cto.com/318484/245106第五课 Git标签内容提要:创建有签名,无签名、轻量级标签来永久的标记项目历史中的关键点 跟大多数的VCS工具一样,git也有在历史状态的关键点“贴标签”的功能--一般人们用这个功能来标记发

2014-03-26 10:42:02 301

转载 Git学习教程(四):分枝和合并

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://fsjoy.blog.51cto.com/318484/245081第四课  分枝和合并基础知识介绍 内容提要:创建工作分枝,合并分枝以及删除分枝 从第一课的介绍中,我们了解到,git处理分枝和合并是非常独到的。首先,无论是创建新分枝还是分枝之间切换,都

2014-03-26 10:41:20 479

转载 Git学习教程(三):Git工作流程

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://fsjoy.blog.51cto.com/318484/244826第三课   Git 工作流程    与远程仓库同步,修改,载入(stage)和提交项目 现在你已经有一个git本地仓库,一切都配置完毕。然后该怎么办?一般来说,跟其他的源码控制系统的

2014-03-26 10:40:47 343

转载 Git学习教程(二):配置和初始化

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://fsjoy.blog.51cto.com/318484/244803第二课.配置和初始化 配置git在使用git之前你需要配置一下git。git在你创建提交的时候会记录你的名字和email地址,所以你应该告诉git这些内容。可以使用'git

2014-03-26 10:38:57 320

V4L2驱动编写

V4L2驱动编写时需要先了解V4L2概况框架,本文档从头到尾描述了所有问题。

2014-09-06

空空如也

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

TA关注的人

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