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

来源:互联网 发布:房屋装修画图软件 编辑:程序博客网 时间:2024/05/08 04:08

        本人在做一个基于两块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复原了


0 0
原创粉丝点击