乐于分享
好东西不私藏

飞凌 RK3568 开发环境搭建与源码编译完全指南

飞凌 RK3568 开发环境搭建与源码编译完全指南

本文详细介绍飞凌 OK3568-C 开发板的开发环境搭建、系统源码编译、Qt 应用程序开发等完整流程,适合嵌入式 Linux 开发者参考学习。

一、前言

RK3568 是瑞芯微推出的一款高性能、低功耗的 ARM64 架构处理器,广泛应用于工业控制、智能家居、边缘计算等领域。飞凌嵌入式推出的 OK3568-C 开发板,预装了基于 Ubuntu 22.04 的 Forlinx Desktop 系统,为开发者提供了便捷的开发体验。

本文将手把手教您完成以下内容:

  • 开发环境搭建与配置
  • 系统源码全编译流程
  • 内核单独编译方法
  • Qt 应用程序开发与调试
  • QEMU 模拟环境使用技巧

二、开发环境说明

2.1 硬件要求

项目
要求
开发板
飞凌 OK3568-C
开发机
x86_64 架构 PC
内存
8GB 及以上

(编译必需)
硬盘
100GB 以上可用空间
操作系统
Ubuntu 22.04 64位版

2.2 软件版本信息

组件
版本
Bootloader
u-boot-2017.09
内核
linux-5.10.160
Qt
qt5.15.3
交叉工具链
aarch64-linux-gnu
目标系统
Forlinx Desktop (Ubuntu 22.04 兼容)

2.3 重要提示

注意: 源码编译对内存要求较高,请确保开发机内存不低于 8GB。如果使用飞凌提供的虚拟机镜像,请勿修改内存配置。


三、开发环境准备

3.1 安装 VMware 虚拟机(可选)

如果您使用 Windows 系统,推荐使用 VMware Workstation 运行 Ubuntu 开发环境。

下载地址: VMware 官网

安装步骤:

  1. 下载 VMware Workstation 安装包
  2. 双击安装,按提示完成安装
  3. 导入飞凌提供的 Ubuntu 虚拟机镜像

3.2 配置 Ubuntu 开发环境

如果需要自行搭建开发环境,请执行以下步骤:

# 更新软件源sudo apt update# 安装基础开发工具sudo apt install -y build-essential git vim net-tools# 安装交叉编译工具链sudo apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu# 验证工具链安装aarch64-linux-gnu-gcc --version
预期输出:
aarch64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.0411.4.0Copyright (C) 2021 Free Software Foundation, Inc....

3.3 安装 QEMU 模拟工具

QEMU 用于在 x86 主机上模拟 ARM64 环境,方便进行应用开发和调试:

# 安装 QEMU 用户态模拟器sudo apt update && sudo apt install qemu-user-static# 验证安装qemu-aarch64-static --version

四、源码编译流程

4.1 准备源码

步骤 1:创建工作目录

# 创建工作目录mkdir -p /home/forlinx/3568# 切换到工作目录cd /home/forlinx/3568

步骤 2:拷贝源码文件

从飞凌提供的资料中拷贝源码文件到虚拟机:

源码位置:用户资料\Linux\源码\OK3568-linux-source.tar.bz2

如果源码是分卷压缩格式(.tar.bz2.00.tar.bz2.01 等),需要先合并:

# 合并分卷压缩包cat OK3568_Linux_fs.tar.bz2.0* > OK3568_Linux_fs.tar.bz2

步骤 3:解压源码

# 解压源码(需要较长时间,请耐心等待)tar -xvf OK3568_Linux_fs.tar.bz2# 查看解压结果ls -la

解压后会生成 OK3568_Linux_fs 目录,包含完整的系统源码。

4.2 全编译流程

步骤 1:进入源码目录

cd /home/forlinx/3568/OK3568_Linux_fs

步骤 2:选择编译配置

# 运行配置脚本./build.sh defconfig
执行后会显示配置选项菜单:
Which would you like? [1]:  1. OK3568-C-BUILDROOT-DEFCONFIG  2. OK3568-C-DEBIAN11-DEFCONFIG  3. OK3568-C-UBUNTU22-DEFCONFIG  4. OK3568-C-LINUXRT-DEFCONFIG  ...

输入 3 选择 Ubuntu 22.04 配置,按回车确认。

步骤 3:执行全编译

# 开始全编译(首次编译约需 1-2 小时)./build.sh

编译过程中会显示进度信息,请耐心等待。

步骤 4:查看编译结果

编译成功后,镜像文件位于 rockdev 目录:

# 查看编译输出ls -la rockdev/

主要文件说明:

文件名
说明
update.img
完整烧写镜像(OTG/TF卡烧写用)
boot.img
内核镜像(分步烧写用)
MiniLoaderAll.bin
Bootloader 镜像
parameter.txt
分区参数文件

4.3 单独编译内核

如果只修改了内核配置,可以单独编译内核,节省编译时间:

# 进入内核源码目录cd /home/forlinx/3568/OK3568_Linux_fs/kernel# 配置内核(可选,修改内核配置时执行)make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig# 编译内核make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc)# 编译设备树make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- dtbs

编译完成后,内核镜像位于:

  • arch/arm64/boot/Image
     – 内核镜像
  • arch/arm64/boot/dts/rockchip/*.dtb
     – 设备树文件

重要提示: 单独编译的内核不会自动更新到 update.img 中,需要使用分步烧写方式烧录 boot.img

4.4 清除编译文件

如需重新编译,可以清除之前的编译结果:

# 清除内核编译文件cd /home/forlinx/3568/OK3568_Linux_fs/kernelmake ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- distclean# 清除所有编译文件./build.sh clean

五、Qt 应用程序开发

5.1 开发环境搭建

飞凌提供的系统已移植 Qt 5.15.3,支持在开发板上直接编译和运行 Qt 程序。

方法一:使用 QEMU 模拟环境(推荐)

步骤 1:挂载 ARM Ubuntu 文件系统

# 进入源码目录cd /home/forlinx/3568/OK3568_Linux_fs/ubuntu# 创建挂载目录mkdir -p ubuntufs# 挂载 rootfs 镜像sudo mount jammy-rootfs.img ubuntufs/# 查看文件系统内容ls ubuntufs/
输出示例:
bin  boot  camera_engine_rkaiq_rk3568_arm64.deb  dev  etc  home  lib  lost+found  media  mnt  opt  proc  qopenglwidget  rknpu2-v1.5.0.tar  root  run  sbin  snap  srv  sys  tmp  usr  var
步骤 2:拷贝程序源码
# 将 Qt 程序源码拷贝到文件系统sudo cp -r /path/to/your/qt_project ubuntufs/home/forlinx/
步骤 3:进入 ARM 虚拟环境
# 进入 chroot 环境sudo chroot ubuntufs/# 此时已进入 ARM64 环境,可以执行 ARM 程序
步骤 4:编译 Qt 程序
# 在 ARM 环境中编译cd /home/forlinx/qt_projectqmakemake
步骤 5:退出并解挂
# 退出 chroot 环境exit# 解挂文件系统sudo umount ubuntufs/

方法二:开发板本地编译

步骤 1:传输源码到开发板

# 使用 SCP 传输源码scp -r qt_project forlinx@192.168.x.x:/home/forlinx/
步骤 2:在开发板上编译
# SSH 连接到开发板ssh forlinx@192.168.x.x# 进入项目目录cd /home/forlinx/qt_project# 编译程序qmakemake

5.2 Qt OpenGL 示例程序

飞凌提供了 Qt OpenGL 示例程序 qopenglwidget,可用于验证 Qt 环境:

在开发板上运行:

# 配置动态链接库路径export LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu/# 运行示例程序./fltest_qt_qopenglwidget

5.3 Qt 环境验证

验证 Qt 安装状态:

# 查看 Qt 版本qmake --version# 查看已安装的 Qt 模块dpkg -l | grep qt5# 查看 Qt 插件ls /usr/lib/aarch64-linux-gnu/qt5/plugins/

六、镜像烧写说明

6.1 完整烧写(update.img)

适用于首次烧写或需要完全重置系统的情况:

  1. 将 update.img 拷贝到 Windows 电脑
  2. 使用 RKDevTool 工具连接开发板
  3. 开发板进入 Loader 模式(按住 Recovery 键上电)
  4. 选择镜像文件,点击”升级”

6.2 分步烧写

适用于单独更新内核或某个分区:

  1. 将开发板进入 Loader 模式
  2. 使用 RKDevTool 选择对应的分区镜像
  3. 分别烧写 boot.imgrootfs.img 等

七、常见问题与解决方案

7.1 编译相关

问题 1:编译报错 “virtual memory exhausted”

原因: 内存不足

解决方案:

# 增加 swap 空间sudo fallocate -l 8G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfile

问题 2:找不到交叉编译工具链

解决方案:

# 安装工具链sudo apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu# 或使用源码中提供的工具链export PATH=/home/forlinx/3568/OK3568_Linux_fs/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin:$PATH

7.2 Qt 相关

问题 1:Qt 程序运行报错 “cannot find -lQt5Core”

解决方案:

# 配置库路径export LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:$LD_LIBRARY_PATH# 更新链接库缓存sudo ldconfig

问题 2:Qt 程序无法显示图形界面

解决方案:

# 设置 Qt 平台插件export QT_QPA_PLATFORM=eglfs    # 嵌入式设备export QT_QPA_PLATFORM=xcb      # X11 桌面export QT_QPA_PLATFORM=wayland  # Wayland

7.3 QEMU 相关

问题:chroot 报错 “cannot execute: Exec format error”

原因: 未正确配置 QEMU

解决方案:

# 确保 qemu-user-static 已安装sudo apt install qemu-user-static# 注册 binfmtsudo update-binfmts --enable qemu-aarch64

八、开发技巧与最佳实践

8.1 提高编译效率

# 使用多核编译make -j$(nproc)# 使用 ccache 加速编译sudo apt install ccacheexport USE_CCACHE=1

8.2 版本管理

# 为修改的文件创建补丁diff -u original_file modified_file > my_patch.patch# 应用补丁patch -p1 < my_patch.patch

8.3 调试技巧

# 内核调试信息dmesg | tail -100# 查看系统日志journalctl -f# 网络调试tcpdump -i eth0 -w capture.pcap

九、总结

本文详细介绍了飞凌 OK3568-C 开发板的开发环境搭建、源码编译和 Qt 应用开发流程。通过本文的学习,您应该能够:

  1. 搭建完整的 Ubuntu 开发环境
  2. 完成系统源码的全编译和内核单独编译
  3. 使用 QEMU 模拟环境进行应用开发
  4. 在开发板上编译和运行 Qt 程序

RK3568 作为一款高性能 ARM 处理器,在工业控制、边缘计算等领域有着广泛的应用前景。掌握其开发流程,将为您的嵌入式开发之路打下坚实基础。


参考资料

  • 飞凌嵌入式官方文档
  • 瑞芯微 RK3568 技术手册
  • Ubuntu 22.04 官方文档
  • Qt 5.15 官方文档

作者: 李江军
日期: 2026-04-14
平台: 飞凌 OK3568-C 开发板


关注公众号,获取更多嵌入式开发教程!