大家好,由于本人技术有限,知识储备单薄,一路测试和体验,磕磕绊绊,不断卡壳,最终是完成了开发板的应用测试和一些开发板特性测试,并且对一些问题进行了总结,其中有一些尝试没成功的问题,待有机会继续研究
本次应用测试结项部分,最终实现了,QT在phyBOARD-Pollux i.MX 8M Plus开发板上运行并通过摄像头获取图像显示出图像,期间出现了多次问题,最后在官方支持和论坛助手的支持下最终完成了项目。再次感谢。
本次项目,还是使用的上次在Ubuntu
phyvm虚拟机开发的QT下调用摄像头显示拍照的程序。
在Ubuntu vm上开发的时候,
官方vm是QT4,我升级到了QT5,之前测试phyteclogo 的应用程序时候,直接在Ubuntu测试后,可以在调试那里选择 ARM release 模式在phyBOARD-Po开发板上直接可以编译测试程序,
但是,这次在测试QTCAM相机程序的时候,第一次是,diploy 提示没有空间可以用,0字节被传输,第一次开发测试文章里通过和官方沟通,我重新划分了分区,但这次又发生了,很难受。
经过我反复排查,发现我之前是划分的emm引导区的空间,但现在我是使用的SD卡引导,s3开关第一位置是on的,发现是我的SD卡空间里/home/root空间被百分百占用了,
应该是我之前尝试在phyBOARD-Pollux开发板上安装OpenCV环境的时候被用完了,之前OpenCV安装没能完全完成可能也和root空间有关,
所以,之后测试一定要注意不同的分区的使用率,而不是看整体空间是否占满,我这就是/homm分区被完全使用了,但是SD卡上其他分区比如/opt /usr等分区都没有被使用多少,
可以把home root 下的一些无关文件和测试程序移动到别的分区,
也可以直接在别的分区进行开发和安装。
我清理空间后通过QT5还是没能直接通过QTUI在phyBOARD-Pollux开发板上测试,提示Cannot run: No command given.应该是建立项目的时候选择默认Ubuntu编译器后还要选择ARM 开发板的交叉编译器,上篇文章有涉及到这部分,工具,选项 debug KIT 设置phyBOARD-Pollux 的编译器位置要正确,因为我升级了QT5,并且安装了 opencv等,致使cmake 的位置发生了错误,所以opencv调用摄像头直接通过QT在phyBOARD-Pollux开发板上调试测试,我没能成功。
由于,我的VM来回重装opencv经常半路崩溃,之前vm物理位置空间预留的过少有关,我放弃了直接通过Ubuntu QT5 设计环境直接测试phyBOARD-Pollux开发板上程序。
我直接把编译好的程序直接 ssh scp
到了phyBOARD-Pollux开发板上,打开opt 下phy项目空间QT程序项目所在的位置用scp
Qcameratest root@192.168.3.11:/home/root/ 把编译好的程序直接上传到开发板,
上传之前编译的时候我选release
链接编译。
最重要的事情,别忘了 chmod
+x 给项目文件夹提升权限, 然后 运行项目程序main.cpp
报错显示,多文件中[syntax error near unexpected token `],看了一下,之前一些代码来自网络上,分别拷贝的时候字符可能是有问题,
需要在window下 用然后去notepad++中,视图->显示符号->显示所有符号 有的是换行l 有的的 m ,Linux和windows下的回车换行符不兼容的问题
notepad++就可以搞定:编辑->档案格式转换->转换为UNIX格式:或把代码结尾的这些都删除,整理好代码,重新编译上传开发板运行即可。
这期间最主要的问题是摄像头驱动和phyBOARD-Pollux开发板调用摄像头的问题,
首先,驱动问题,由于我们用的是phyBOARD-Pollux
8m plus开发板不是相机 和AI套件,所以,没有自带phyBOARD的摄像头,经过测试开发板中内置的大多数测试程序无法使用,应该是程序针对套件摄像头开发的,无法驱动我的摄像头的问题,我前后找了三个摄像头,其中,包括之前测试过的一个自带驱动的双目摄像头,自带驱动核心,但是,能启动无法成像,最后我找到了一个网上的4K高清支持Ubuntu的摄像头,完成了测试,打开了摄像头完成了测试。
但是不太稳定,卡程序和卡画面时常发生,QT可以调用,OpenCV无法调用摄像头,缺少环境。由于这个套件不是AI和相机套件,所以程序环境不够完善,硬件性能应该是完全没有问题。
我还对phyBOARD-Pollux 8m plus开发板的温度,cup内核等硬件信息进行了查看。总体来说这是一块能力强大的开发板,期待phyBOARD-Pollux
8m plus开发板的更多套件开放测试。感谢论坛客服的大力支持,给予了这次测试机会。