日期:2014-05-16 浏览次数:20361 次
在实验十三中在pc机上安装好了qt,现在要在zedboard板上运行qt,这个其实和opencv其实是差不多的,这个实验主要参考了超群天晴和懒兔子的博客。
下载qt-everywhere-opensource-src-4.7.3.tar.gz,这里下载源码和Xilinx公司提供的Zynq的Qt配置文件qmake.conf,感谢别人的分享,这个的版本是4.7.3。
解压 tar -xvzf qt-everywhere-opensource-src-4.7.3.tar.gz -C
将qmake.conf复制到qt-everywhere-opensource-src-4.7.3/mkspecs/qws/linux-arm-gnueabi-g++目录下,使用命令
./configure -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -little-endian -opensource -host-little-endian -confirm-license -nomake demos -nomake examples 进行配置,配置完成后进行编译: make 编译结束后再使用命令 : make install 安装,默认是会安装到: /usr/local/Trolltech/QtEmbedded-4.7.3-arm/,之前opencv的是安装在install下,这个目录是可以指定的。 Xilinx交叉编译器中的基础C++库复制到安装目录的lib目录下: cp -P /root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/arm-xilinx-linux-gnueabi/libc/usr/lib/libstdc++.so* /usr/local/Trolltech/QtEmbedded-4.7.3-arm/lib 这样就完成了Zynq的Qt Embedded for Linux的安装。 和Opencv一样,这里也要制作运行库。 以Digilent出厂默认的Demo系统为例,该系统的rootfs是通过在内存中虚拟出一个8M-Byte大小的空间并加载固定的镜像文件来实现的,这个rootfs十分小巧,但缺点是空间不足。数十兆的QT支持库无法装入这个小镜像里,即使可以也会占用大量内存。因此只要将其做成镜像的形式,就可以保存在SD卡中,通过mount指令装载,节省了内存资源。(懒兔子) 在解压的文件夹下,我新建了一个build文件夹,用来存放这个运行库,进入这个build文件夹,执行下面命令 dd if=/dev/zero of=qt_lib.img bs=1M count=80 名字qt_lib.img mkfs.ext4 -F qt_lib.img chmod go+w qt_lib.img mount qt_lib.img -o loop /mnt cp -rf /usr/local/Trolltech/QtEmbedded-4.7.3-arm/* /mnt 注意安装目录 chmod go-w qt_lib.img umount /mnt 至此,运行库制作完毕,你用ls来查看以下就可以看到有qt_lib.img,至于这个库的挂载和Opencv的一样了,见前面的实验 由于hdmi转vga接口还没到,只能下一步再测试,下一步任务就是usb图像采集和qt显示(完全基于zedboard),这个也就是测试了。还有一个任务就是实现软件开机自动动态加载qt_lib.img和opencv_lib.img(opencv的库),免得要自己手动加载。