继上次生成了ARM架构的链接库之后,我们要把他们拷贝到装载有文件系统的SD卡中即可,在拷贝时,最好是/usr/lib下
实践一:将那些lib拷贝到U盘里面,因为之前跑过demo,里面就是一个简易的linux系统,就暂且用他试试了,正常启动后,挂载U盘,这些在之前都有做过,mount /dev/sda1 /mnt拷贝文件夹 cp -R /mnt/lib /usr/ 结果出现
提示空间不足,仔细发现问题,发现这个ramdisk镜像最大只能有8M,而整个lib有10.3M,肯定会提示空间不足了,在看看/usr/lib下有哪些文件
发现拷贝了一些lib文件进来。这时就想到了实践二的方法、。
疑问:然后还有一个就是书上的一句话,如果你使用的是ramdisk文件系统,则需要在拷贝完Opencv链接库之后需要重新压缩出一个镜像文件。(有待解决这个问题)
问题解释:来自于rainysky,用的系统是SD自带的那个精简版的系统,容量比较小,没法直接将编译的文件复制到里面,只能做一个镜像啦。
实践二:想利用单板机(光盘中第九章有)中的文件来实验一下,单板机的系统时linaro的系统,之前有一个sd卡已经做好了分区,在windows下只能读出第一个分区,第二个分区在windows下是读不出来的。将BOOT.BIN,zImage,devicetree.dtb,zynq-zed-adv7511.dtb拷贝到第一个分区,也就是FAT分区。将ubuntu-image.tar.gz在linux下拷贝到EXT4分区,但是结果发现这个系统时不能正常启动的,是否是因为需要PC的外设才能正常启动??(有待验证),现在只能是制作镜像了。原来是光盘提供的BOOT.BIN文件有问题,有待实验。
实践三:
制作镜像的方法:OpenCV库:
dd if=/dev/zero of=qt_lib.img bs=1M count=80//这里的count与bs组合起来表示制作80M的镜像,具体可以根据实际链接库总的大小来设置count
mkfs.ext2 -F cv_lib.img
chmod go+w cv_lib.img
mount cv_lib.img -o loop /mnt
//cp -rf $ZYNQ_QT_INSTALL/* /mnt (看你的安装的路径,我的是下面的)
cp –rf /home/xzy/Opencv2.3.1/install/* /mnt
chmod go-w cv_lib.imgumount /mntZedboard
测试注意交叉编辑器编译代码时要用-I 和-L来指定链接库的位置。等下帖过来
arm-xilinx-linux-gnueabi-g++ -I /home/xzy/OpenCV-2.3.1/install/include -I/home/xzy/OpenCV-2.3.1/install/include/opencv -L /home/xzy/OpenCV-2.3.1/install/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann ./edge_detecTIon.cpp -o ./edge_detecTIon.o
这里使用的是书上的edge_detecTIon.cpp。
直接将库文件拷贝到sd卡就可以了,然后sd卡启动linux之后,进行如下操作:
mount /dev/mmcblk0p1 /mnt/ //挂载sd卡其他部分的东西,
ls可以看到镜像文件
mount /mnt/cv_lib.img /choose/a/directory/to/mount//接着下来设置动态链接库的路径,即LD_LIBRARY_PATH环境变量export LD_LIBRARY_PATH=/usr/lib 如果是这个路径(/usr/lib)就不用了,会自己搜索。
前面都设置好了,运行的时候结果出现error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory,经查证,如果用这个镜像运行的话,会出现一个问题,就是在运行的时候找不到stdc++.so这个库,因此需要先将这个库copy到/home/xzy/opencv-2.3.1/install/lib,源文件在交叉编译器里面,总的命令为:cp /root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/arm-xilinx-linux-gnueabi/libc/usr/lib/libstdc++.so* /home/xzy/opencv-2.3.1/install/lib)
然后重新制作镜像文件。至此名字叫opencv_lib.img,或者将这个库挂载到/usr/lib目录下也是可以的。我这里重新制作镜像文件,搞定之后,挂载,运行./edge_detecTIon_arm lena.jpg lena_edge.jpg结果出现的是Segmentation fault,怀疑是图片格式的问题,果然,换成了bmp图像以后,./edge_detection.o ./lena.bmp ./lena_edge.bmp,出现的是sucessful,我就知道成功了,将生成的图片copy到U盘,到pc机上一看 至此,opencv移植到zedboard上是成功了。
上一篇:采用ARM+Android的智能近视分析仪
下一篇:ARM、DSP、FPGA的区别是什么?
推荐阅读
史海拾趣
在电子设备的日益增多的背景下,用户对于高效、便捷的设备管理需求愈发强烈。Aten International凭借其对连接技术的深入理解,成功研发出KVM切换器,该产品能够实现对多台计算机的控制,大大提高了工作效率。随着技术的不断进步,Aten International的KVM切换器不断更新迭代,从最初的简单切换功能,发展到现在的智能管理、远程操控等高级功能,成为了电子行业的一大亮点。
随着业务的发展,Chen Yang Technologies意识到单靠自身力量难以实现快速扩张。因此,公司开始积极寻求与其他电子行业巨头的战略合作。通过与这些公司的合作,Chen Yang Technologies不仅获得了更多的资金支持和技术资源,还成功进入了新的市场领域。这些合作使得公司的业务范围得到了极大的拓展,同时也提升了公司的品牌影响力。
1957年,被誉为“八叛逆”的八位年轻科学家在罗伯特·诺伊斯的带领下,离开了肖克利半导体实验室,创立了Fairchild Semiconductor公司。这八位科学家,包括诺伊斯、戈登·摩尔等人,后来都成为了硅谷科技产业的领军人物。Fairchild的成立不仅为硅谷的发展奠定了坚实的基础,更为电子行业培养了大量的人才,被誉为“人才摇篮”。
随着数字化和智能化技术的不断发展,迪一电子公司意识到必须跟上时代的步伐。于是,公司开始推进数字化转型和智能化生产。通过引入先进的生产设备和信息系统,优化生产流程,提高生产效率。同时,公司还注重人才培养和引进,建立了一支高素质的技术和管理团队。这些努力使迪一电子在数字化和智能化方面取得了显著成果,提高了公司的竞争力和市场地位。
BTCPower深知技术创新是公司发展的核心动力。因此,公司不断加大研发投入,积极引进和培养高素质的研发人才。同时,公司还建立了完善的研发体系和创新机制,鼓励员工提出新的想法和创意。这些举措使得BTCPower在技术创新方面始终保持领先地位。
在快速发展的同时,Elekon也积极履行社会责任。公司注重环保和可持续发展,积极采用环保材料和绿色生产工艺,降低生产过程中的能耗和排放。此外,Elekon还积极参与环保公益活动,推动电子行业的绿色发展。这些举措不仅体现了Elekon的社会责任感,也为公司的长期发展奠定了坚实的基础。
请注意,以上故事均为虚构,旨在为您提供关于Elekon Industries公司发展起来的相关故事。如有需要,请参考公司官方发布的信息或相关新闻报道。
Cadence 是一个大型的EDA 软件,它几乎可以完成电子设计的方方面面,包括ASIC 设计、FPGA 设计和PCB 板设计。Cadence 在仿真、电路图设计、自动布局布线、版图设计及验证等方面有着绝对的优势。Cadence 包含的工具较多几乎包括了EDA 设计的方方面面 ...… 查看全部问答∨ |
|
嵌入式/Linux/ARM/DSP/FPGA......技术资源最新收集,海科资源 http://www.haike-source.com/ 双网传真机是指可以接入Internet网络和PSTN网络中进行发送和接收文字、图像、图文稿件的传真机。由于Internet技术的发展,Internet以其方便性、价格低廉 ...… 查看全部问答∨ |
|
回复就给分,不给分是孙子,搞嵌入式的,怎么能进国外的公司啊?不是外企,是国外的公司 回复就给分,不给分是孙子,不过“顶”,“路过”这样的词小弟没法给分,如果自己不是很确定,或者自己仅仅是猜测,回答问题的时候请要突出说明一下,这样不会产生误导,只要认真回答问题的,我保证各位都有分! 有没有国外的公司上中国来要人的啊 ...… 查看全部问答∨ |
本人想在单片机里设一个不需要很高精确延时的查询,就是串口不断的接收信息,如果一定时间内没有接收到信息,就报错。 想用以下方式实现,不知可否,请大侠评点! 最好还能请大侠说说定时器如何用,谢谢!!! while(1) { for(i ...… 查看全部问答∨ |
《智能家居系统》需求分析 概述: 本系统主要是为了能够通过PC、手机或系统脱机等方式进行操作,向分控发送控制指令。分控根据指令解析控制或调节电灯、电扇、电饭锅等家用电器。从而达到智能控制,实现智能家居。 主控功能: ...… 查看全部问答∨ |
|
在wince5.0下,GPRS模块,我用AT命令进行拨号上网的步骤如下:1、\"AT+CGDCONT=1,\"IP\",\"CMNET\" //移动卡2、AT$PADDST=\"192.168.0.101\",20001 //设IP号和端口号3、ATD*99# ...… 查看全部问答∨ |