感谢“
电子发烧友网”和飞凌嵌入式公司提供了本次OK3568
开发板的评测机会。
前面已经有网友介绍了
如何构建开发环境编译OK3568的全部源码,需要至少12G的内存和270G的硬盘,这对于我所拥有小笔记本来说是完全无法想象的。其实我只是想利用Qt开发一些图形界面应用,编译全部源码是没有啥必要的。今天就介绍一下如何在较低配置的电脑上配置开发环境安装以进行一些常规的应用程序开发。
一、虚拟机的安装
虚拟机我们使用的是VirtualBox,安装的操作系统是Xubuntu 20.04。Xubuntu是一个Ubuntu Linux的派生版,它基于桌面环境Xfce,主要运行基于GTK+的程序,运行速度比Ubuntu快。它的一些操作和Ubuntu不完全相同,比如没有GEdit,使用MousePad,但它使用Ubuntu的高质量软件源,所以并不会感觉不方便。
安装虚拟机后一般要安装一些常用的开发工具:
- sudo apt-gt
- install cmake, gcc, g++, git
二、C/C++交叉编译环境的配置
RK3568的Cortex-A55内核是64位
ARM处理器,所以它的编译工具链必须是aarch64-linux-gnu,可以使用apt-get从Ubuntu的软件仓库安装,也可以从Linaro 或ARM的官网下载。想了解的可以从
“码农爱学习”的帖子里面了解。
三、Qt 5的开发环境的配置
RK3568中包括Mali G52 2EE图形处理器,与OpenGL ES 1.1/2.0/3.2完全兼容,这是它的一个特色。因此,我想搭建一个支持OpenGL的Qt环境。开发板移植的Qt版本为5.14.2。一般安装Qt,我会同时安装Linux桌面版本和ARM版本,在桌面版本中进行前期的开发工作,便于调试。然后再切换移植到ARM版本进行移植测试。
3.1 桌面版Qt环境的安装
qt-opensource-linux-x64-5.14.2.run里面包括两个部件:Qt Creator和Qt的桌面版。QtCreator是一个集成环境,它虽然不是开发Qt必须,但是大多数都会用它。如果想运行Qt桌面版的OpenGL示例,还需要安装一些库:
sudo apt-get install mesa-common-dev
sudo apt-get install libgl1-mesa-dev
- libglu1-mesa-dev
Qt自带了很多OpenGL的示例,如下图所示。
3.2 ARM64版Qt代码的开发
如果要移植Qt到开发板上一般是从前面提到的single目录中下载qt-everywhere-src-5.14.2.zip,里面包括了全部Qt的代码。如果编译不带OpenGL的ARM库,只需要在配置时加上-no-opengl选项,再使用前面安装的AACH64编译器进行编译就可以。但是要编译支持OpenGL的版本就需要官方提供的OpenGL库,这部分内容被包括在开发板源代码中。前面已经说过,编译全部源代码需要较高的硬件配置,我的笔记本无力承担。经过一番努力,飞凌嵌入式的工程师为我提供了编译好的版本,为他们及时的技术支持点赞!
飞凌嵌入式提供的压缩文件不到700M字节,解压后是2.3G字节。它包括/home/forlinx/3568/OK3568-linux-source/buildroot/output/OK3568/目录下的host和target两个目录内容。下面介绍一下如何使用这些文件。
首先,必须在我们的电脑上严格地按照上面的路径恢复文件。之所以这么做是因为Qt工具的核心文件是qmake,它是把编译生成时电脑的路径写进了qmake这个可行性文件,如果路径不符合,则这个工具无法正确运行。
需要执行以下命令:
cd /home
sudo mkdir forlinx
sudo chmod 777 forlinx
cd forlinx
mkdir -p forlinx/3568
tar -zcvf OK3568-linux-source.tar
文件解压后,就相当于恢复了当初编译的环境。此时已经可以执行/home/forlinx/3568/OK3568-linux-source/buildroot/output/OK3568/host/bin/qmake来编译Qt程序了。
如果希望在Qt Creator之中也能编译ARM版程序,可以在Qt Creator中的Tools ->Op
tions对话框完成如下设置。
这样,以后切换到3586Linux就可以生成
arm开发板的程序了。
四、测试
我使用Qt自带的OpenGL例子Cube测试了一下,效果不错,见下面的视频。本来还使用了Hello GES3进行了测试,不过测试效果实在太差了,就没有放出来。嵌入式的GPU和台式机的GPU还是有差距的。