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

关于QT通过/dev/fb0显示和视频流同时从m3vpss传递到arm不能并存的问题?

大家好:

      我这边使用的是ipnc rdk v3.8开发包,我在使用过程中遇到了这样的问题:

    我这边使用link建立了一个数据链路: cameralink –> ipcFramesOut (m3vpss) –> ipcFramesIn(A8)

   同时,我需要将QT的显示界面通过/dev/fb0来显示

  在集合这2个需求时,我发现了两者不能并存,不知道是什么原因

 如果我数据是cameraLink –>ipcFramesOut(m3vpss),不流转到a8来,QT界面能通过/dev/fb0显示

如果按照cameralink –> ipcFramesOut (m3vpss) –> ipcFramesIn(A8), 则QT界面无法通过/dev/fb0显示,

程序报打开/dev/fb0失败,具体错误信息如下:

Failed to open framebuffer /dev/fb0 (Connection timed out)

另外我装载framebuffer相关的步骤及参数如下:

insmod ./kermod/vpss.ko mode=hdmi:800×600@60
insmod ./kermod/ti81xxfb.ko vram=0:12M,1:4M
insmod ./kermod/ti81xxvo.ko
insmod ./kermod/ti81xxhdmi.ko

我在bootargs中设置vram=24M

setenv bootargs 'console=ttyO0,115200n8 lpj=4997120 root=/dev/mtdblock4 rootfstype=jffs2 ro mem=166M vram=24M notifyk.vpssm3_sva=0xbfd00000 …

有哪位能指点一二吗?先谢谢啦!!!

 

jensen zhang:

经详细测试,发现在m3vpss的ipcFramesOut这个link中只要执行了
status = ListMP_putTail(pObj->listMPOutHndl, (ListMP_Elem *) pListElem);
,我打开/dev/fb0就会失败,错误号为110, 即Connection timed out
感觉好像只要有核之间的通讯,再打开/dev/fb0或/dev/fb1都会失败
各位高手,能指点一二吗?

jensen zhang:

回复 jensen zhang:

使用fdset -S,报如下错误
can't open '/dev/fb0': Connection timed out
能请教下高手们,大概是什么原因造成的吗?

Chris Meng:

回复 jensen zhang:

你好,

ListMP_putTail(). Put an element at the end of the ListMP. 这个函数是IPC下的函数。

由于显示部分是在vpssm3上的,我觉得打开/dev/fb0是否也会调用核间通信的syslink,会否在这部分有冲突?

jensen zhang:

回复 Chris Meng:

非常感谢Chris Meng的回复…

   我今天进一步调试发现卡在如下的代码:

  hdvpss_xxx/packages/ti/psp/vps/drivers/display/src/vps_dctrlIntPriv.c

Int32 Dc_startClient(DcClientHandle handle)

{

Semaphore_pend(dcCtrlInfo->isrWaitSem, DC_SEM_TIMEOUT);

 }

即等待isrWaitSem信号返回

我看了此信号的返回在:

static Int32 dcDlmClientCallBack(UInt32 curSet, UInt32 timeStamp, Ptr arg)

{

Semaphore_post(dcCtrlInfo->isrWaitSem);

}

能告诉我什么情况导致dcDlmClientCallBack()未被调用,此信号量不返回呢???

user5919965:

回复 jensen zhang:

您好,请问您的问题解决了吗?我也遇到了同样的问题,不知道该怎么解决。

赞(0)
未经允许不得转载:TI中文支持网 » 关于QT通过/dev/fb0显示和视频流同时从m3vpss传递到arm不能并存的问题?
分享到: 更多 (0)