(1)i2c

(2)注册设备

(3)寄存器

--------------author:pkf

------------------------time:2015-4-5

-------------------------------qq:1327706646

(1)i2c

#define I2C_READ_REG_BYTE(reg) (*(volatile unsigned char *)(reg))
#define I2C_READ_REG_WORD(reg) (*(volatile unsigned short *)(reg))
#define I2C_READ_REG_LONG(reg) (*(volatile unsigned int *)(reg))

#define I2C_WRITE_REG_BYTE(val, reg) (*(volatile unsigned char *)(reg) = (val))
#define I2C_WRITE_REG_WORD(val, reg) (*(volatile unsigned short *)(reg) = (val))
#define I2C_WRITE_REG_LONG(val, reg) (*(volatile unsigned int *)(reg) = (val))

#define是预处理命令, 用来对关键字进行文本替换, 这里是不带参数的简单替换
把代码中I2C0CONSET替换为(*((volatile unsigned char *) 0xE001C000)) (volatile unsigned char *)括号里是类型, 是强制类型转换
把0xE001C000转换为这个类型的指针
指针除了要有地址,还要有地址里数据的类型, 没有类型的话计算机不知道是要读2个字节还是4个字节,也不知道是无符号还是有符号等等 volatile 是告诉编译器变量的值可能在不知道的情况下改变,防止编译器自动优化 再前面的*是指针解引用, 指针是unsigned char*的, 地址是0xE001C000, 解引用后就是0xE001C000里存的unsigned char值

(2)注册设备

gVps_tvp5150CommonObj.fvidDrvOps.create
= (FVID2_DrvCreate)Vps_tvp5150Create;

gVps_tvp5150CommonObj.fvidDrvOps.delete = Vps_tvp5150Delete;

gVps_tvp5150CommonObj.fvidDrvOps.control = Vps_tvp5150Control;

gVps_tvp5150CommonObj.fvidDrvOps.queue = NULL;

gVps_tvp5150CommonObj.fvidDrvOps.dequeue = NULL;

gVps_tvp5150CommonObj.fvidDrvOps.processFrames = NULL;

gVps_tvp5150CommonObj.fvidDrvOps.getProcessedFrames = NULL;

gVps_tvp5150CommonObj.fvidDrvOps.drvId = FVID2_VPS_VID_DEC_TVP5150_DRV;

status = FVID2_registerDriver ( &gVps_tvp5150CommonObj.fvidDrvOps );//registerDriver !!!!

(3)寄存器

static const UInt8 gTvp5150DefAddrList[] =
{

/* 0x00 */
TVP5150_VD_IN_SRC_SEL_1,
/* 0x01 */
TVP5150_ANAL_CHL_CTL,

/* 0x02 */
TVP5150_OP_MODE_CTL,
/* 0x03 */
TVP5150_MISC_CTL,
/* 0x06 */
TVP5150_COLOR_KIL_THSH_CTL,
/* 0x07 */
TVP5150_LUMA_PROC_CTL_1,
/* 0x08 */
TVP5150_LUMA_PROC_CTL_2,
/* 0x09 */
TVP5150_BRIGHT_CTL,
/* 0x0a */
TVP5150_SATURATION_CTL,
/* 0x0b */
TVP5150_HUE_CTL,
/* 0x0c */
TVP5150_CONTRAST_CTL,
/* 0x0d */
TVP5150_DATA_RATE_SEL,
/* 0x0e */
TVP5150_LUMA_PROC_CTL_3,
/* 0x0f */
TVP5150_CONF_SHARED_PIN,
/* 0x11 */
TVP5150_ACT_VD_CROP_ST_MSB,
/* 0x12 */
TVP5150_ACT_VD_CROP_ST_LSB,
/* 0x13 */
TVP5150_ACT_VD_CROP_STP_MSB,
/* 0x14 */
TVP5150_ACT_VD_CROP_STP_LSB,
/* 0x15 */
TVP5150_GENLOCK,
/* 0x16 */
TVP5150_HORIZ_SYNC_START,
/* 0x18 */
TVP5150_VERT_BLANKING_START,
/* 0x19 */
TVP5150_VERT_BLANKING_STOP,
/* 0x1a */
TVP5150_CHROMA_PROC_CTL_1,
/* 0x1b */
TVP5150_CHROMA_PROC_CTL_2,
/* 0x1c */
TVP5150_INT_RESET_REG_B,
/* 0x1d */
TVP5150_INT_ENABLE_REG_B,
/* 0x1e */
TVP5150_INTT_CONFIG_REG_B,
/* 0x28 */
TVP5150_VIDEO_STD,
/* 0x2e */
TVP5150_MACROVISION_ON_CTR,
/* 0x2f */
TVP5150_MACROVISION_OFF_CTR,
/* 0xbb */
TVP5150_TELETEXT_FIL_ENA,
/* 0xc0 */
TVP5150_INT_STATUS_REG_A,
/* 0xc1 */
TVP5150_INT_ENABLE_REG_A,
/* 0xc2 */
TVP5150_INT_CONF,
/* 0xc8 */
TVP5150_FIFO_INT_THRESHOLD,
/* 0xc9 */
TVP5150_FIFO_RESET,
/* 0xca */
TVP5150_LINE_NUMBER_INT,
/* 0xcb */
TVP5150_PIX_ALIGN_REG_LOW,
/* 0xcc */
TVP5150_PIX_ALIGN_REG_HIGH,
/* 0xcd */
TVP5150_FIFO_OUT_CTRL,
/* 0xcf */
TVP5150_FULL_FIELD_ENA,
/* 0xd0 */
TVP5150_LINE_MODE_INI,
/* 0xfc */
TVP5150_FULL_FIELD_MODE_REG,
/* end of data */

};

bug:

两边黑边条

http://www.deyisupport.com/question_answer/dsp_arm/f/22/t/78878.aspx

http://wenku.baidu.com/link?url=YLPPzB8Oi8HyhJ18SatBVb-KKaZhvMZfa6-sJEVLeXS49ke73jKWnTO-NbNZMCZ-oH21XslAwKICrEOF-vzUbP6XbrP20d6jW6COdDC8_9W

http://wenku.baidu.com/link?url=x4DUS1hsOaIRCWPAVEmJiPDWcLRjhVR-KQS3miT43B8LoiiRRQFkvEkwOICDwDgGHzB25yK8slMtCjwd9-cqWUTFhkhUxNAYH9tPjbnmEdG

http://wenku.baidu.com/view/d7e6b81810a6f524ccbf8508.html?re=view

http://wenku.baidu.com/view/4a5a957502768e9951e7385b.html?re=view

http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/69596.aspx

http://www.ti.com/product/tvp5150am1 ti官网文档

http://www.ti.com/product/TVP5150AM1/technicaldocuments

http://www.deyisupport.com/question_answer/dsp_arm/f/22/t/17389.aspx?pi2132219853=2

http://www.deyisupport.com/question_answer/dsp_arm/f/22/t/22508.aspx

http://www.deyisupport.com/question_answer/dsp_arm/f/22/p/17389/96069.aspx#96069

http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/p/314811/1095670#1095670

http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/52747.aspx?pi2132219853=3 集成

http://blog.csdn.net/duloveding/article/details/7756328 问题

http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/13981.aspx 移植

http://blog.chinaunix.net/uid-21354120-id-1827536.html  i2c

http://www.deyisupport.com/blog/b/av_tech/archive/2011/07/20/tvp5150xxx-tvp5151.aspx ti 官网提供

http://e2e.ti.com/support/data_converters/videoconverters/f/918/t/319432 am1

http://e2e.ti.com/support/data_converters/videoconverters/f/918/tags/TVP5150

http://www.ti.com/lit/ug/sleu044/sleu044.pdf 手册

http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/p/314811/1095670#1095670 grey

http://www.cnblogs.com/syfwhu/p/4432736.html 腾讯前端

http://www.cnblogs.com/tracyone/p/4431698.html ipnc web dba

http://www.ti.com/lit/sg/slyb112a/slyb112a.pdf 手册

http://www.ti.com/lit/ug/sleu044/sleu044.pdf

http://www.ti.com/lit/ug/sleu044/sleu044.pdf

http://blog.csdn.net/linglongyouzhi/article/details/4284581 赛灵思fpga 处理

http://www.ic37.com/TI/TVP51_datasheet_9586173/TVP51_35.html

http://www.ti.com.cn/cn/lit/ml/sprt552/sprt552.pdf

http://wenku.baidu.com/link?url=x4DUS1hsOaIRCWPAVEmJiPDWcLRjhVR-KQS3miT43B8LoiiRRQFkvEkwOICDwDgGHzB25yK8slMtCjwd9-cqWUTFhkhUxNAYH9tPjbnmEdG 5150a 中文手册

http://blog.163.com/laorenyuhai126@126/blog/static/19350779201111223328406/

嵌入式驱动开发之解码器tvp5150---tvp5150am1基于8148vpss的添加调试的更多相关文章

  1. 驱动开发学习笔记. 0.02 基于EASYARM-IMX283 烧写uboot和linux系统

    驱动开发读书笔记. 0.02 基于EASYARM-IMX283 怎么烧写自己裁剪的linux内核?(非所有arm9通用) 手上有一块tq2440,但是不知道什么原因,没有办法烧boot进norflas ...

  2. 嵌入式驱动开发之---Linux ALSA音频驱动(一)

    本文的部分内容参考来自DroidPhone的博客(http://blog.csdn.net/droidphone/article/details/6271122),关于ALSA写得很不错的文章,只是少 ...

  3. IT自由职业者的第一个月(下)——为什么放弃5年嵌入式驱动开发转到WEB开发?

        如果单从兴趣来看,其实我对Linux内核,Android中间件的兴趣要高于WEB,何况还有这么多年的经验积累,何必从头探索一个新的技术方向呢?     这里面原因是很多的,最核心的大概是以下4 ...

  4. 嵌入式驱动开发之--- 虚拟磁盘SBULL块设备驱动程序分析

     #define SBULL_MINORS  16         /* 每个sbull设备所支持的次设备号的数量 */  #define KERNEL_SECTOR_SIZE 512  // 本地定 ...

  5. 嵌入式驱动开发之内核态spi ---module_spi_driver

    http://blog.csdn.net/dearsq/article/details/51839083 http://blog.csdn.net/alleincao/article/details/ ...

  6. 嵌入式驱动开发只设备数---dts

    http://blog.sina.com.cn/s/blog_ad64b8200101e7q0.html

  7. 嵌入式驱动开发之采集方式bypass mode---bypass mode

    http://baike.baidu.com/link?url=HifFTlNRROR24lW_gSdTiG-eXooi08O0Eeq1mU6Yy0I1LOMW4kdumv25BOQbohV_428M ...

  8. 嵌入式驱动开发之---dm8127 中sensor 驱动的改变

    #IPNC_DEVICE := DM385IPNC_DEVICE := DM812x # Values are "LOW_POWER" and "FULL_FEATURE ...

  9. 转: 嵌入式linux下usb驱动开发方法--看完少走弯路【转】

    转自:http://blog.csdn.net/jimmy_1986/article/details/5838297 嵌入式linux下的usb属于所有驱动中相当复杂的一个子系统,要想将她彻底征服,至 ...

随机推荐

  1. 解决ARC的循环引用问题

    看看下面的程序有什么问题: BNRItem.h @interface BNRItem : NSObject @property (nonatomic, strong) BNRItem *contain ...

  2. Apatche httpd + Django + Mysql web server 搭建

    Required: httpd: 2.4.18 django : 1.8.7 mysql: 5.7.10 MySQL-python: 1.2.3 mod_wsgi: 4.4.21 Offical Do ...

  3. vue - config(index.js)

    描述:我想,这是调用最多的一个文件了吧(无论是dev,还是prod) 'use strict' // Template version: 1.3.1 // see http://vuejs-templ ...

  4. Android 歌词显示

    一.概述 项目中设计到歌词显示的问题,这一块之前没有涉及过,只是套用过一个开源的项目,效果还行,于是想到拿来稍作修改,以适应项目需求. 二.歌词控件 先来看下这个自定义控件写的歌词控件吧: publi ...

  5. Visual studio之C#跨线程调用UI控件

    背景 当前串口通讯项目,多个线程需要同时利用richTextBoxMsg控件打印信息,直接调用会造成线程不安全,严重的时候会直接导致UI线程挂掉,因此本篇就跨线程调用UI控件做个记录. 正文 定义控件 ...

  6. oracle update left join查询

    对于有的更新语句,要更新的表可能条件不够,需要用到left join关联其他表, 但是不能直接关联,否则报错:错误如下: update imim_gireqbillitems gi left join ...

  7. Java Collection之Queue具体解释及用途

    Queue是一种常见的数据结构,其主要特征在于FIFO(先进先出),Java中的Queue是这样定义的: public interface Queue<E> extends Collect ...

  8. 转:C#操作摄像头

    转自: http://blog.csdn.NET/chenhongwu666/article/details/40594365 如有雷同,不胜荣幸,若转载,请注明 最近做项目需要操作摄像头,在网上百度 ...

  9. Android 4.4KitKat AudioFlinger 流程分析

    AudioFlinger(AF)是一个服务,具体的启动代码在av\media\mediaserver\Main_mediaserver.cpp中: int main(int argc, char** ...

  10. SSE,MSE,RMSE,R-square 指标讲解

    SSE(和方差.误差平方和):The sum of squares due to error MSE(均方差.方差):Mean squared errorRMSE(均方根.标准差):Root mean ...