您的位置:首页 > 其它

关于用两块arm实现双视频通信项目所遇到的问题和解决方法

2014-12-05 22:18 701 查看
本人在做一个基于两块Tiny6410可视对讲的项目,在进行视频通信这方面真的是一波三折呀!下面描述下我在做视频监控的过程所遇到的问题:

首先我用的摄像头是中星微zc301,在进行编写视频监控程序时,首先不要急着把驱动移植进去,make menuconfig到自己的内核上看一下是否已经携带了驱动(我用的是linux-2.6.28.6本身就携带了的)。接下来就是问题所在了,在写了的视频监控应用程序显示,为什么在linux终端上好好的,移植到arm上却不能看见所期望的视频影像。在这里,我们写不要急着实现视频监控,我们先实现一张jpg图片能不能在开发板上显示,如果不能的显示的话,我们知道在移植Qt到ARM开发板时,有一个编译参数一般设置为-qt-libjpeg,显而易见,这个参数与显示jpg图像有关。

以下叙述的一切内容,都以在移植Qt时设置了这样一个参数为前提。

(1)把两块开发板都挂载上nfs,复制Qt的jpg插件库到ARM开发板上的相应位置。在我这里,这个插件库的路径是/opt/qt4/plugins/imageformats

主机上:[home/boss]$ cp /opt/qt4/plugins nfs/ -rdf

arm上:[root@FriendlyARM mnt]# cp ./plugins /opt/qt4lib/ -rdf

(2)我们还需要在ARM开发板上设置以下几个环境变量。在/etc/profile文件中修改或增加

export LD_LIBRARY_PATH=/opt/qt4lib/plugins/imageformats:$LD_LIBRARY_PATH

export QT_PLUGIN_PATH=/opt/qt4lib/plugins

(3)在自己编写的Qt的pro文件中增加QTPLUGIN += qjpeg

完成上述步骤相信可以成功地在arm开发板上看见jpg图片了。


接下来,两块arm进行视频显示的时候,却出现通讯问题。一块arm发送的数据,另一块arm却只能接收一次,一直以为是UDP的问题,结果改了又改足足弄了两个多星期还是没有结果。在经过老师的辅导下终于知道原来是HWaddr(硬件地址)的问题,两块开发板的硬件地址必须要不一样。所以在这里需要修改一块arm开发板的HWaddr(硬件地址)。

在arm上: vi /etc/profile加上以下内容修改HWaddr(硬件地址)

ifconfig eth0 down

ifconfig eht0 hw ether **:**:**:**:**:**

ifconfig eth0 up

这样重新reboot后就不怕MAC复原了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐