由于笔者平时的嵌入式开发工作,主要是集中在嵌入式Linux和Qt应用开发方向,因此,本篇文章我们尝试参考飞凌官方提供的嵌入式Linux+Qt相关的资料,编写一个Qt应用程序,并运行在OK3588-C开发板上面。

飞凌OK3588-C开发板,跟嵌入式Linux + Qt相关的的开发资料,主要是在文件夹“OK3588-C_Linux5.10.66+Qt5.12.8_用户资料_R2”里面,文件夹里面的内容的详细说明,如下图所示。

飞凌编写的开发手册主要是以下三个文档: 1、《OK3588-C_Linux_用户编译手册_V1.0_20230327.pdf》,这个文档主要是介绍了飞凌OK3588-C开发板的软件环境搭建,包括虚拟机安装,安装交叉编译器、配置Qt编译环境、相关的SDK代码编译。 2、《OK3588-C_Linux5.10.66+Qt5.12.8_用户使用手册_V1.0_20230327.pdf》,这个文档主要是围绕OK3588-C开发板进行开展的,讲述了如何快速上电启动OK3588-C开发板,如何测试开发板的功能以及测试多媒体硬件编解码,最后一章讲述了如何通过OTG和TF卡进行系统烧录。 3、《引脚复用对照表&引脚功能对照表下载信息.pdf》,这个文档主要提供一个网盘下载链接,下载核心板的引脚功能描述表格,如果开发者想自行制作功能底板,或者想了解某些引脚的功能复用,可以通过链接下载表格进行查询 搭建开发环境 参考《OK3588-C_Linux_用户编译手册_V1.0_20230327.pdf》这个文档,飞凌提供了一个完整的ubuntu20.04虚拟机镜像,如果开发者不想自行搭建OK3588-C的开发环境,可以直接使用这个已经搭建好开发环境的虚拟机。笔者一直习惯自己搭建ubuntu虚拟机和配置开发环境,因此,直接参考这份文档的第三章的内容,自行安装和配置好ubuntu20.04。这个章节的重点内容是,在ubuntu系统安装编译Linux系统所需要的库,如下图所示。

笔者在ubuntu20.04系统安装以上依赖库的时候,会提示找不到repo和python-pip软件包, 解决方法是,手动安装repo工具(网上有很多参考资料),把python-pip换成python3-pip就可以了。 根据文档提示的方式,安装交叉编译工具链,安装完成后,还需要在串口终端执行export命令,把工具链的路径写入PATH环境变量, 也可以一步到位,直接修改 ~/.bashrc 文件,以后每次启动bash终端的时候,都自动配置好交叉编译器的路径,如下图所示。

重新启动bash终端,执行 aarch64-linux-gcc --version 命令,就可以查看OK3588-C对应的交叉编译器的版本,说明交叉编译器安装成功,如下图所示。

编译开发板SDK软件包 参考第四章的内容,OK3588_Linux_fs.tar.bz2是开发板的SDK软件包,解压后直接对这个软件包进行编译,编译速度取决于电脑的性能,编译成功后会在rockdev目录下生成OK3588-C开发板必须的各个镜像文件,如下图所示。

可以参考《OK3588-C_Linux5.10.66+Qt5.12.8_用户使用手册_V1.0_20230327.pdf》文档的第五章的内容, 使用OTG或者TF卡的方式,把编译成功后的镜像文件,烧录到OK3588-C开发板里面运行。编译出来的镜像文件,文件系统root-fs默认是支持Qt5.12.8的,并且飞凌提供的参考资料里面,也讲述了如何使用Qt Creator搭建嵌入式Linux + Qt 的开发环境, 编写测试应用程序 我们可以尝试编译一个Qt工程项目对开发板的Qt运行环境进行测试,工程项目的下载链接是:https://gitee.com/embediot/smartlight_system.git 执行 git clone 命令,把Qt的示例工程下载到ubuntu系统里面,如下图所示。

然后用配置好交叉编译套件的Qt Creator软件,打开该Qt工程,对其进行清除、执行qmake、重新构建,这一系列操作,基本上可以直接编译成功,如下图所示。

编译成功后,可以在build-xxxx-Debug目录下,找到该工程项目的应用程序固件,使用file命令查看固件信息,说明该固件是通过交叉编译生成的,如下图所示。

可以通过U盘、SD卡、ADB、SFTP等文件传输方式,把 smartlight_system的可执行文件传送到开发板上面运行,接上HDMI显示器,可执行文件在OK3588-C开发板上面运行的情况,如下图所示。




综合上面的一整套开发流程,根据飞凌提供的开发板资料,我们从搭建开发环境,编译软件SDK包,编写和测试Qt应用程序,完成对OK3588-C开发板的嵌入式Linux+Qt环境评测使用工作。 总体来看,飞凌OK3588-C这款开发板(或核心板)提供的资料,比较适合有嵌入式Linux从业经验的工程师进行产品开发使用,不太适合初学者进行入门,该款RK3588开发板(或核心板)是定位在商业或工业领域进行产品级开发,而不是定位在教学入门领域。

相信飞凌官方是综合权衡过整个产品的市场定位才进行各种开发资料的配置。从开发板(或核心板)的硬件做工、硬件质量、供货周期,相信这款开发板(或核心板)会物超所值,不会让广大工程师失望。
声明:以上嵌入式 Linux + Qt 相关文档资料及内容,飞凌及本公众号仅作参考学习之用途,开发者如需进行商业用途,请遵循 Qt 官方相关协议。
|