跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C

RK3562 单板机 Linux 应用开发环境搭建与 GDB 调试指南

综述由AI生成档介绍了 RK3562 单板机的 Linux 应用开发环境搭建流程,包括交叉编译工具链和 sysroot 的安装配置。同时详细讲解了 GDB 远程调试的使用方法,涵盖调试环境准备、演示程序编译、连接目标机及常用调试命令(list、break、continue、print 等)的操作步骤,帮助开发者快速定位程序问题。

AiEngineer发布于 2026/3/30更新于 2026/5/2326 浏览
RK3562 单板机 Linux 应用开发环境搭建与 GDB 调试指南

前言

本文档为 Linux 应用开发的指引文档,提供 Linux 应用开发环境、开发流程等说明,以及对平台关键技术及其支持情况进行简要介绍。

当前应用开发支持情况如下表所示。

文章配图

在完成开发环境搭建后,可参考本文的'Linux 常用开发案例'章节熟悉基本的应用开发流程,然后可参考如下文档进行产品应用开发。

(1)图形界面开发:参考《图形用户界面 (GUI) 开发手册》,其中包含 Qt 和 LVGL 的开发指引;

(2)视频图像处理开发:参考《视频图像处理开发手册》;

(3)Docker 开发:参考《Docker 开发手册》,主要介绍 Docker 安装、构建镜像与下载镜像等;

(4)NPU 开发:参考《NPU 开发手册》;

(5)ROS2 开发:参考《ROS2 开发手册》,主要演示 ROS 系统(版本:ROS2 Humble)使用说明;

(6)Modbus 开发:参考《Modbus 开发手册》,主要介绍 Modbus 协议开发案例;

(7)EtherCAT 主站开发:参考《EtherCAT 开发手册》,主要演示 EtherCAT 主站的伺服电机实时控制。

开发环境

Windows 开发环境:Windows10、Windows7 64bit

文章配图

Linux 开发环境:VMware16.2.5、Ubuntu20.04.6 64bit

系统版本:Tronlong-Desktop 20.04、Linux-5.10.209、U-Boot-2017.09

sysroot:rk3562-Tronlong-Desktop-20.04-sysroot-[版本号].tar.gz

应用开发交叉编译工具:gcc-aarch64-linux-gnu_9.4.0.tar.gz

备注:本文基于 2GByte LPDDR4X、16GByte eMMC 配置单板机进行演示。

术语表

为便于阅读,下表对文档出现的关键术语进行解释;对于广泛认同释义的术语,在此不做注释。

注意事项

无特殊说明情况下,本文默认从 eMMC 启动系统,使用 DEBUG 作为调试串口,使用欣瑞达的 XT070YTA23R_A6 LVDS 电阻屏作为显示输出。

文章配图

图 1

1 开发环境搭建说明

1.1 安装应用开发交叉编译工具链

本文主要提供适配应用开发的交叉编译工具链安装方式,包括网络安装、本地安装,请根据实际环境选择其中一种方式进行安装。

(1)通过网络安装

Host# sudo apt update

Host# sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

文章配图

图 2

文章配图

图 3

安装完成后,可执行如下命令查看交叉编译工具链版本号。

Host# aarch64-linux-gnu-gcc --version

Host# aarch64-linux-gnu-g++ --version

文章配图

图 4

可以看到交叉编译工具版本为 9.4.0 及以上版本即为安装成功,同时交叉编译工具链默认安装在"/usr/bin/"目录下。

Host# ls /usr/bin/aarch64-linux-gnu-*

文章配图

图 5

(2)本地安装

提供的交叉编译链压缩包位于产品资料'4-软件资料\Linux\Tools'目录下,请将其拷贝至上位机 Ubuntu 系统任意路径,执行如下命令进行安装。

Host# tar -zxf gcc-aarch64-linux-gnu_9.4.0.tar.gz

Host# sudo dpkg -i gcc-aarch64-linux-gnu_9.4.0/*.deb

文章配图

图 6

文章配图

图 7

安装完成后,可执行如下命令查看具体版本号。

Host# aarch64-linux-gnu-gcc --version

Host# aarch64-linux-gnu-g++ --version

文章配图

图 8

可以看到交叉编译工具版本号为 9.4.0 及以上版本即为安装成功,同时应用交叉编译工具链默认安装在"/usr/bin/"目录下。

Host# ls /usr/bin/aarch64-linux-gnu-*

文章配图

图 9

1.2 安装 sysroot

提供的 sysroot 压缩包主要包含应用开发时所需的库(常用开发库、Qt 库等),适用于 Linux 系统应用开发。

请将产品资料'4-软件资料\Linux\LinuxSDK'目录下的 sysroot 压缩包拷贝至上位机 Ubuntu 系统"/home/tronlong/RK3562/"目录。执行如下命令,将其解压,解压完成后会在当前目录下生成一个"sysroot"目录和 environment 文件,"sysroot"目录包含 sysroot 相关文件。

备注:sysroot 压缩包版本以实际情况为准。

Host# tar -zxf rk3562-Tronlong-Desktop-20.04-sysroot-v1.0.tar.gz

文章配图

图 10

文章配图

图 11

执行如下命令,设置交叉编译工具链和 sysroot 环境变量。

备注:由于 Linux 应用开发与 Linux 系统开发使用不同的交叉编译工具链,因此执行如下命令完成应用开发环境变量配置后,当前 Terminal 命令行终端将不再适用 U-Boot、内核开发。如需进行 U-Boot、内核开发,请另行打开一个 Terminal 命令行终端。

Host# source /home/tronlong/RK3562/environment

Host# export

文章配图

图 12

文章配图

图 13

2 GDB 调试说明

GDB 为 GNU 推出的经典命令行调试工具,在 Linux 系统下广泛使用。它功能强大,能让开发者单步执行程序、逐过程或逐语句调试,自由跳入或跳出函数,还能按条件设置断点,实时查看变量值,精准定位程序问题。

GDB 支持多种语言,包括汇编、C/C++、D、Fortran、GO、Objective-C、OpenCL 等。此外,它有远程调试模式,在嵌入式系统调试中优势明显。借助 TCP/IP 协议及专有通信协议,可让调试程序的主机与运行程序的目标机跨设备协作,高效完成调试任务。

2.1 调试环境搭建

在 RK3562 工作目录下执行如下命令,创建 gdb-test 目录并安装 GDB 调试工具。

Host# mkdir gdb-test

Host# sudo apt install gdb gdbserver gdb-multiarch -y

文章配图

图 14

2.2 演示程序创建与编译

执行如下命令,进入 gdb-test 目录并新建一个 GDB 调试演示程序。

Host# cd gdb-test

Host# vi test.c

文章配图

图 15

输入以下内容:

#include <stdio.h>

void show() {
    printf("show\n");
}

int main(int argc, char *argv[]) {
    int arr[4] = {1, 2, 3, 4};
    int i = 0;
    for (i = 0; i < 4; i++) {
        printf("arr[%d]: %d\n", i, arr[i]);
    }
    show();
    return 0;
}

文章配图

图 16

执行如下命令,进行程序编译,编译完成将会生成 test 可执行程序。

Host# aarch64-linux-gnu-gcc -g test.c -o test

备注:编译时需添加-g 参数,生成的可执行文件才带有调试信息。

文章配图

图 17

请将单板机与 PC 机连接至同一个路由器,使用 Type-C 线将单板机的 DEBUG 调试串口连接至 PC 机,然后将单板机上电启动。将编译后的 test 可执行文件拷贝至单板机系统任意目录下。

Target# ls

文章配图

图 18

2.3 调试程序运行

执行如下命令,查看虚拟机的 IP 地址。

Host# ifconfig

文章配图

图 19

在单板机系统 test 文件所在路径下,执行如下命令运行 gdbserver 程序,开启监听。

备注:192.168.13.50 为虚拟机的 IP 地址;1234 为连接的端口号(自行设置);test 为将要进行调试的程序。

Target# gdbserver 192.168.13.50:1234 test

文章配图

图 20

在虚拟机系统 test 文件所在路径下,执行如下命令使用 GDB 调试工具进行调试。

Host# gdb-multiarch test

文章配图

图 21

执行如下命令,连接单板机。192.168.13.12 为单板机的 IP 地址,请以实际情况为准。

(gdb) target remote 192.168.13.12:1234

文章配图

图 22

同时,单板机 DEBUG 调试串口打印连接成功的相关信息。

文章配图

图 23

2.4 程序调试

本章节主要演示 GDB 调试的几个常用命令的使用方法。

2.4.1 list 命令

用于列出源码,简写:l。

文章配图

图 24

2.4.2 break 命令

用于设置断点,简写:b。

分别在 main 函数和第 10 行设置断点。

文章配图

图 25

2.4.3 info breakpoints 命令

用于显示断点的状态,简写:info b。

文章配图

图 26

2.4.4 continue 命令

用于恢复程序执行,简写:c。此命令使 GDB 恢复程序的执行,直至断点触发或程序结束。

文章配图

图 27

以上调试过程在第二个断点中,每输入一次 c 命令,将会依次打印 arr[]数组的元素值,然后程序执行结束。同时,单板机 DEBUG 调试串口打印相关信息。

文章配图

图 28

2.4.5 print 命令

用于打印变量或者变量地址,简写:p。

设置断点后,可依次打印当前变量 i 的值。

文章配图

图 29

文章配图

图 30

以上调试过程在每处断点中,使用 print 命令打印变量 i 的值。同时,单板机 DEBUG 调试串口打印相关信息。

文章配图

图 31

2.4.6 quit 命令

退出 GDB 模式,简写:q。当程序调试完成后,使用 quit 命令退出 GDB 调试。

文章配图

图 32

同时,单板机 DEBUG 调试串口打印相关信息。

文章配图

图 33

目录

  1. 前言
  2. 开发环境
  3. 术语表
  4. 注意事项
  5. 1 开发环境搭建说明
  6. 1.1 安装应用开发交叉编译工具链
  7. 1.2 安装 sysroot
  8. 2 GDB 调试说明
  9. 2.1 调试环境搭建
  10. 2.2 演示程序创建与编译
  11. 2.3 调试程序运行
  12. 2.4 程序调试
  13. 2.4.1 list 命令
  14. 2.4.2 break 命令
  15. 2.4.3 info breakpoints 命令
  16. 2.4.4 continue 命令
  17. 2.4.5 print 命令
  18. 2.4.6 quit 命令
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Kiro 安装与上手指南:IDE 与 CLI 两种方式
  • Linux 基础 IO:深入理解软链接与硬链接
  • Docker Desktop 中文界面切换工具设计与实现
  • OpenClaw + Docker + MiniMax 本地部署方案
  • Virt-A-Mate 虚拟实境软件功能介绍
  • 大模型基础概念、发展历程及应用场景详解
  • 二叉树深度计算与先序序列重构算法实战
  • 8 家大厂 AI Agent 横评:OpenClaw、AutoClaw、KimiClaw 等实测对比
  • Xilinx Vivado 2020 版本安装流程及常见问题解析
  • RTD1296PB 与 RK3568:NAS 及智能家居芯片实战性能对比
  • Ubuntu 22.04 安装后启动卡死问题解决方案
  • Java Lambda forEach 遍历中如何实现类似 break 的退出操作
  • 小巧的 MCPHost:命令行通过大模型与外部工具交互
  • Trae AI IDE 安装与使用教程
  • Flask 集成 flask-admin 后台及 flask-login 权限管理
  • 基于DeepSeek与Cursor构建智能代码审查工具实战
  • Qlib:AI 导向量化投资平台入门指南
  • Vue Print Designer 前端可视化打印设计器实战解析
  • RTX 5060 Ti Linux 驱动黑屏解决方案:BIOS 设置与 Open Kernel 配置
  • Python os.path 模块核心函数详解:路径处理与文件操作指南

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online