TI中文支持网
TI专业的中文技术问题搜集分享网站

DM8168 dvrrdk中demo问题

Hi All,

       请问一下在dvrrdk的目录中ti_tools/hdvpss/hdvpss_01_00_01_37_patched/packages/ti/psp/examples/common/vps/capture/captureVip/src/CaptureVip_main.c编译后生成了ti_tools/hdvpss/hdvpss_01_00_01_37_patched/build/hdvpss_examples_captureVip/bin/ti816x-evm/hdvpss_examples_captureVip_m3vpss_debug.xem3文件,这个文件可以直接执行吗?我在开发板启动完毕后,先运行了./init.sh、./load.sh,这两个脚本是负责加载一下相应驱动以及固件,然后我在运行hdvpss_examples_captureVip_m3vpss_debug.xem3,结果报如下错误:

root@dm816x:/opt/dvr_rdk/ti816x# ./hdvpss_examples_captureVip_m3vpss_debug.xem3Killed

直接异常退出了,请问是什么原因造成的?

Eason Wang:

你说的运行.xem3指的是什么?    ./   ?

这个是M3的固件,应该不是linux下可执行的东西

zhouzhuan2008 zhouzhuan2008:

回复 Robin Edson:

是的,我刚接触这些,多有麻烦之处,还请多见谅。谢谢

我看过编译过程,CaptureVip_main.c就只生产了这个.xem3的固件,没有看到生产了相对应的.out问题,我有个疑问,既然这个是个可执行的main.c程序,为何要生产了一个xem3的固件,那如果我通过load.sh加载这个固件,会是什么个效果?

zhouzhuan2008 zhouzhuan2008:

回复 Robin Edson:

Robin,很感谢你给我的帮助。

还有个疑问,如果我用fw_load.out来加载生产的那个M3固件,那是不是等同于我运行了那个程序,加载固件会直接从编译的那个源码的main函数开始执行呢? 还是需要别的方式来启动这个demo来运行。还有个问题,你是如果了解到要执行M3固件必须用fw_load.out来加载的,之所以这个问题,我想以后遇到了类似的问题,自己就可以知道怎么解决,免得麻烦大家。

另外,我想了解一下DVRRDK这套架构可以实现prot0 A、B和Port1A、B各自连接一路8bit的输入源,同时采集工作,能做到这个效果吗?假如这四路bit输入是tvp5147 decode

    

zhouzhuan2008 zhouzhuan2008:

回复 Robin Edson:

Robin,我用fw_load.out加载了这个固件,运行情况如下:

root@dm816x:/opt/dvr_rdk/ti816x# bin/fw_load.out startup VPSS-M3 hdvpss_examples_captureVip_m3vpss_debug.xem3Attached to slave procId 2.Loaded file hdvpss_examples_captureVip_m3vpss_debug.xem3 on slave procId 2.Started slave procId 2.After Ipc_loadcallback status [0x00000000]After Ipc_startcallback status [0x00000000]root@dm816x:/opt/dvr_rdk/ti816x#

好像还没有从main()函数开始运行,是否还需要别的方法来启动这个demo程序呢?

另外,还有个问题想问问你,我看过你的这篇csdn的文章了,里面有提到输入分Single Channel和Multi Channe两种方式,Multi模式应该指的是像tvp5158这种可以通过一个输入端口(例如port0 A口或者port0B口)采集到将四路输入合并到一个平面上视频源吧?如果是我理解的这样,那是不是说如果prot0A、B和Prot1A、B各种接入一个8bit一路输入源,其模式就是Single Channel模式吗?

在dvrrdk中,有定义几个传入到HDVPSS xem3固件中的参数,这些参数是用来告诉HDVPSS输入源的模式的,几种模式如下:

/** * \brief Video capture operation mode*/typedef enum{ VPS_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC = 0, /**< Single Channel non multiplexed mode */ VPS_CAPT_VIDEO_CAPTURE_MODE_MULTI_CH_LINE_MUX_EMBEDDED_SYNC, /**< Multi-channel line-multiplexed mode */ VPS_CAPT_VIDEO_CAPTURE_MODE_MULTI_CH_PIXEL_MUX_EMBEDDED_SYNC, /**< Multi-channel pixel muxed */ VPS_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_DISCRETE_SYNC_HSYNC_VBLK, /**< Single Channel non multiplexed discrete sync mode with HSYNC and VBLK as control signals. */ VPS_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_DISCRETE_SYNC_HSYNC_VSYNC, /**< Single Channel non multiplexed discrete sync mode with HSYNC and VSYNC as control signals. */ VPS_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_DISCRETE_SYNC_ACTVID_VBLK, /**< Single Channel non multiplexed discrete sync mode with ACTVID and VBLK as control signals. */ VPS_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_DISCRETE_SYNC_ACTVID_VSYNC, /**< Single Channel non multiplexed discrete sync mode with ACTVID and VBLK as control signals. */ VPS_CAPT_VIDEO_CAPTURE_MODE_MULTI_CH_LINE_MUX_SPLIT_LINE_EMBEDDED_SYNC, /**< Multi-channel line-multiplexed mode – split line mode */ VPS_CAPT_VIDEO_CAPTURE_MODE_MAX /**< Maximum modes */} Vps_CaptVideoCaptureMode;

我看了dvrrdk中,如果输入源是tvp5158,他们用的参数是VPS_CAPT_VIDEO_CAPTURE_MODE_MULTI_CH_PIXEL_MUX_EMBEDDED_SYNC,如果是16bit的输入,例如tvp7002、sil9135,它们用的就是VPS_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC。假如说我现在要通过prot0B  口(不是A口)采集一路来自tvp5147 8bit(或者8bit的高清输出decode)的输入源,那我这个定义应该选择哪一个呢?

zhouzhuan2008 zhouzhuan2008:

回复 Robin Edson:

Robin,谢谢你给了我这么多的帮助。

还有个问题想问问你,比如说我现在要换一个采集视频的芯片,不用tvp5158这些dvrrdk已有的解码器,换成别采集芯片,dvrrdk中demos/link_api_demos/common/chains_main.c这些例子的相应的调整方式,在ti论坛上有没有相关的介绍如果更改的资料呢?

赞(0)
未经允许不得转载:TI中文支持网 » DM8168 dvrrdk中demo问题
分享到: 更多 (0)