关于用两块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复原了
首先我用的摄像头是中星微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复原了
相关文章推荐
- 自写聊天室_LinuxC实现(1)——项目部署遇到问题及解决方法
- 关于Qt移植后环境变量的设置 qt移植到arm中文显示问题解决 实现pc与tiny210 arm开发板 udp通信(续上)
- 关于TSP项目中遇到的一些问题,及解决方法
- 关于Android开发导入已有项目遇到Project has no default.properties file! Edit the project properties to set one.问题的解决方法
- 关于Qt移植后环境变量的设置 qt移植到arm中文显示问题解决 实现pc与tiny210 arm开发板 udp通信
- PDA(WinCE)项目开发中遇到的问题及解决方法总结
- 关于Cookie跨域操作遇到的问题及解决方法
- 关于arm-linux-gcc交叉编译工具链,实现自己的crt0或者编译UBOOT出现undefined reference to `__aeabi_unwind_cpp_pr0'的解决方法
- 在VS.NET 2003中建立项目时遇到的两个问题及解决方法 (转)
- 项目所遇到的一些管理问题解决方法
- 关于修改frameworks的源码遇到的一点问题以及解决方法
- 关于Android4.0 emulator-arm.exe-应用程序错误,内存不能为"read"问题解决方法
- 有关于WCSF创建项目的问题解决方法
- 用servlet实现登录注册功能时遇到的问题和解决方法
- [一般问题] android导入项目中遇到的一些问题及解决方法
- 做智囊团项目遇到的问题与解决方法
- 关于R项目存在问题的一些解决方法
- 关于引用WebLogic.jar时遇到NoClassDefFoundError问题的解决方法
- linux下安装Subversion遇到关于BerkeleyDB问题及解决方法
- SOS!!!关于游戏汉化项目中遇到一些不能解决的问题。。。。。