全志平台boot里TVD倒车显示功能开发 您所在的位置:网站首页 全志科技的股票代码是什么 全志平台boot里TVD倒车显示功能开发

全志平台boot里TVD倒车显示功能开发

2024-06-13 18:41| 来源: 网络整理| 查看: 265

 全志平台boot里TVD倒车显示功能开发

 

        倒车显示分两个部分,前端处理好视频输入信号,准备好内容,后端显示驱动再来把内容显示到LCD上。很明显,前端是TVD模块来处理的,后端是有DE模块来处理的,我们接下来先分析一下TVD模块怎么工作的。

      首先,需要加载驱动打开设备驱动,如果有需要还可以执行IOCTL操作,跟在linux系统里操作驱动的IOCTL类似。代码如下:

/*****************************************************************************************************/ 声明:本博内容均由http://blog.csdn.net/edsam49原创,转载请注明出处,谢谢! /*****************************************************************************************************/

ret = wBoot_driver_install("c:\\drv_tvd.drv"); if(ret != 0) { DMSG_PANIC("ERR: wBoot_driver_install drv_tvd driver failed\n"); return -1; } ret = wBoot_script_parser_fetch("tvin_para", "tvin_reverse_channel_num", &reverseChannel, 1); if(ret) { __inf("unable to find tvin_para tvin_reverse_channel_num value\n"); } __inf("BoardInit_TVD: reverseChannel=%x\n", reverseChannel); TVDTransferToDRVInfo.ch = reverseChannel; //open tvd devices , we transfer some TVD parameter to driver tvd_hd = wBoot_driver_open(EGON2_EMOD_TYPE_DRV_TVD, &TVDTransferToDRVInfo); if(tvd_hd == NULL) { DMSG_PANIC("ERR: open drv_tvd driver failed\n"); return -1; }

       加载驱动会执行到init接口,打开设备的时候会执行open接口,对应接口在上一篇文章中有介绍到。那么,我们可以再open的接口里对TVD    模块做一些必要的设置,当然一些模块的参数,我们可以再open的时候传给TVD的驱动,也就是传给DRV_TVD_OPEN函数接口。笔者根据需要传了一些控制参数进去,比如选择的TVD channel通道号,因为TVD有4个channel;显示的视频信号格式是NTSC信号还是PAL的信号,这样可以加快初始化,加快出正确的图像;以及Y/C的buffer地址,这里是为了让display这边方便的拿到显示buffer的地址,当然申请buffer放到TVD驱动里也是可以的,但是对应显示驱动就得晚于TVD驱动执行,这个问题其实也有人写一个固定的安全内存地址,其实也可以,只是感觉不灵活。

      下面就说说TVD的具体驱动,首先TVD需要设置的是CLK,没有CLK什么都是扯,主要是ahb bus、tvd模块、DRAM、PLL3  VIDEO相关的clock,大致如下:

ccm_clock_disable(TVD_CKID); ccm_clock_enable(TVD_CKID); set_wbit(CCM_DRAMCLK_GATE_CTRL, 0x1U


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有