【RP-RV1126】Ubuntu上配置Buildroot Qt 开发板远程开发调试环境(SSH)

2023-05-16

文章目录

  • 一、前提
  • 二、基础设置建设
    • Buildroot编译Qt5
    • 配置SSH
    • Buildroot文件系统添加账号密码
    • 开发板联网
    • Buildroot文件系统构建时打开rsync功能
  • 三、QtCreator配置
    • 3.1 配置Qt交叉编译套件(Kits)
      • 配置Kits里面的交叉编译器
      • 配置Kits里面的qmake工具
      • 最后配置Kits
    • 3.2 配置远程部署设备
    • 运行到开发板
    • 3.3 如果配置设备失败

描述一个场景,在ubuntu上的qtcreator上编写了一个带UI的程序,点击左下角的运行,就可以在开发板上看到效果!

以下都是为了实现这个场景。

一、前提

  • Buildroot添加了qt5并且成功的编译出来了
  • Buildroot文件系统需要有ssh(默认有)
  • Buildroot文件系统需要有账号密码
  • 开发板需要联网,并且与Ubuntu虚拟机在同一个网段
  • Buildroot文件系统在构建的时候需要将rsync打开

我的RV1126的SDK上面有两个交叉编译器
sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf是用于编译上层应用的
sdk/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf是用于编译uboot和linux kernel的

需要的路径信息:

  • 交叉编译器之gcc的路径:/home/liefyuan/rv1126/rp_rv1126_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
  • 交叉编译器之g++的路径:/home/liefyuan/rv1126/rp_rv1126_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
  • Qt交叉编译器之qmake的路径:sdk/buildroot/output/rockchip_rv1126_rv1109_facial_gate/host/bin/qmake

二、基础设置建设

Buildroot编译Qt5

配置SSH

Buildroot 系统默认是支持 ssh 的,用户名是 root,密码是 rockchip。

Buildroot文件系统添加账号密码

首先对开发板进行上电,开发板正常启动后,使用命令“vi /etc/inittab”对文件进行修改,如下图所示:
在这里插入图片描述

# Startup the system
::sysinit:/bin/mount -t proc proc /proc
::sysinit:/bin/mount -o remount,rw /
::sysinit:/bin/mkdir -p /dev/pts
::sysinit:/bin/mkdir -p /dev/shm
::sysinit:/bin/mount -a 2>/dev/null
::sysinit:/bin/hostname -F /etc/hostname
# now run any rc scripts
#::respawn:-/bin/sh
::sysinit:/etc/init.d/rcS

# Put a getty on the serial port
ttyFIQ0::respawn:/sbin/getty -L  ttyFIQ0 0 vt100 # GENERIC_SERIAL

# Stuff to do for the 3-finger salute
#::ctrlaltdel:/sbin/reboot

# Stuff to do before rebooting
::shutdown:/etc/init.d/rcK
::shutdown:/sbin/swapoff -a
::shutdown:/bin/umount -a -r
  • 用户名是:root
  • 密码是:rockchip

开发板联网

插上网线,编辑文件vi /etc/init.d/rcS最后一行添加

udhcpc -i eth0

这样就可以使用DHCP动态分配IP地址了。

使用命令ifconfig查看以确保与虚拟机ubuntu在同一个网段。

Buildroot文件系统构建时打开rsync功能

在这里插入图片描述编译的时候出错了!

2023-04-21T01:05:46 gzip: /home/liefyuan/rv1126/rp_rv1126_sdk/buildroot/dl/popt-1.16.tar.gz: not in gzip format
2023-04-21T01:05:46 tar: This does not look like a tar archive
2023-04-21T01:05:46 tar: Exiting with failure status due to previous errors
2023-04-21T01:05:46 package/pkg-generic.mk:159: recipe for target '/home/liefyuan/rv1126/rp_rv1126_sdk/buildroot/output/rockchip_rv1126_rv1109_facial_gate/build/popt-1.16/.stamp_extracted' failed
2023-04-21T01:05:46 make[1]: *** [/home/liefyuan/rv1126/rp_rv1126_sdk/buildroot/output/rockchip_rv1126_rv1109_facial_gate/build/popt-1.16/.stamp_extracted] Error 2
2023-04-21T01:05:46 /home/liefyuan/rv1126/rp_rv1126_sdk/buildroot/output/rockchip_rv1126_rv1109_facial_gate/Makefile:16: recipe for target '_all' failed
2023-04-21T01:05:46 make: *** [_all] Error 2
2023-04-21T22:17:47 umask 0022 && make -C /home/liefyuan/rv1126/rp_rv1126_sdk/buildroot O=/home/liefyuan/rv1126/rp_rv1126_sdk/buildroot/output/rockchip_rv1126_rv1109_facial_gate
2023-04-21T22:17:53 /usr/bin/make -j1 O=/home/liefyuan/rv1126/rp_rv1126_sdk/buildroot/output/rockchip_rv1126_rv1109_facial_gate HOSTCC="/usr/bin/gcc" HOSTCXX="/usr/bin/g++" silentoldconfig
2023-04-21T22:17:53 GEN     /home/liefyuan/rv1126/rp_rv1126_sdk/buildroot/output/rockchip_rv1126_rv1109_facial_gate/Makefile
2023-04-21T22:17:53 >>> popt 1.16 Extracting
2023-04-21T22:17:53 gzip -d -c /home/liefyuan/rv1126/rp_rv1126_sdk/buildroot/dl/popt-1.16.tar.gz | tar --strip-components=1 -C /home/liefyuan/rv1126/rp_rv1126_sdk/buildroot/output/rockchip_rv1126_rv1109_facial_gate/build/popt-1.16   -xf -
2023-04-21T22:17:53 
2023-04-21T22:17:53 gzip: /home/liefyuan/rv1126/rp_rv1126_sdk/buildroot/dl/popt-1.16.tar.gz: not in gzip format
2023-04-21T22:17:53 tar: This does not look like a tar archive
2023-04-21T22:17:53 tar: Exiting with failure status due to previous errors
2023-04-21T22:17:53 package/pkg-generic.mk:159: recipe for target '/home/liefyuan/rv1126/rp_rv1126_sdk/buildroot/output/rockchip_rv1126_rv1109_facial_gate/build/popt-1.16/.stamp_extracted' failed
2023-04-21T22:17:53 make[1]: *** [/home/liefyuan/rv1126/rp_rv1126_sdk/buildroot/output/rockchip_rv1126_rv1109_facial_gate/build/popt-1.16/.stamp_extracted] Error 2
2023-04-21T22:17:53 /home/liefyuan/rv1126/rp_rv1126_sdk/buildroot/output/rockchip_rv1126_rv1109_facial_gate/Makefile:16: recipe for target '_all' failed
2023-04-21T22:17:53 make: *** [_all] Error 2
Command exited with non-zero status 1
you take 0:10.18 to build builroot
ERROR: Running build_buildroot failed!
ERROR: exit code 1 from line 557:
    /usr/bin/time -f "you take %E to build builroot" $COMMON_DIR/mk-buildroot.sh $BOARD_CONFIG

通过查看这个文件是有问题的,popt-1.16.tar.gz格式都不对!

~/rv1126/rp_rv1126_sdk/buildroot/dl$ file popt-1.16.tar.gz 
popt-1.16.tar.gz: HTML document, UTF-8 Unicode text, with very long lines

文件系统里面的文件是错误的,需要替换下载地址:

把这个地址替换进去:http://ftp.rpm.org/popt/releases/historical/popt-1.16.tar.gz
替换:buildroot/package/popt/popt.mk文件里面的下载地址!
如下:

################################################################################
#
# popt
#
################################################################################

POPT_VERSION = 1.16
POPT_SITE = http://ftp.rpm.org/popt/releases/historical/popt-1.16.tar.gz
POPT_INSTALL_STAGING = YES
POPT_LICENSE = MIT
POPT_LICENSE_FILES = COPYING
POPT_AUTORECONF = YES
POPT_GETTEXTIZE = YES
POPT_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES)

POPT_CONF_ENV = ac_cv_va_copy=yes

ifeq ($(BR2_PACKAGE_LIBICONV),y)
POPT_CONF_ENV += am_cv_lib_iconv=yes
POPT_CONF_OPTS += --with-libiconv-prefix=$(STAGING_DIR)/usr
POPT_DEPENDENCIES += libiconv
endif

$(eval $(autotools-package))
$(eval $(host-autotools-package))

在地址:http://ftp.rpm.org/popt/releases/historical/下载源文件

在这里插入图片描述

为了快速,直接下载源文件拷贝到sdk/buildroot/dl目录下

$ cp popt-1.16.tar.gz ./buildroot/dl/

安装好rsync的文件系统可以在命令行里这样:

[root@RV1126_RV1109:/]# rsync
rsync  version 3.1.3  protocol version 31
Copyright (C) 1996-2018 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
    no socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, no ACLs, xattrs, iconv, symtimes, prealloc

rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
are welcome to redistribute it under certain conditions.  See the GNU
General Public Licence for details.

三、QtCreator配置

3.1 配置Qt交叉编译套件(Kits)

配置Kits里面的交叉编译器

打开 Ubuntu 的 Qtcreator,依次点击“工具”,“选项”,如下图所示:
在这里插入图片描述

在弹出的对话框中依次点击“kits”,“编译器”,“添加”,“GCC”,“C++”,如下图所示:
在这里插入图片描述在弹出的界面中依次填写名称,编译器路径,编译器路径为 Buildroot 交叉编译器路径,点击“浏览”,根据实际情况填写“/home/liefyuan/rv1126/rp_rv1126_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc”,填写完后点击“apply”,如下图所示
在这里插入图片描述
然后点击“添加”,“GCC”,“ C”,依照上面添加gcc的步骤添加 g++ 的交叉编译工具。

最后结果如下:
在这里插入图片描述

配置Kits里面的qmake工具

qmake工具地址是:/home/liefyuan/rv1126/rp_rv1126_sdk/buildroot/output/rockchip_rv1126_rv1109_facial_gate/host/bin/qmake
在这里插入图片描述

最后配置Kits

在这里插入图片描述

3.2 配置远程部署设备

打开工具栏Tools里面的Options,如下图:
在这里插入图片描述点击Devices添加设备,如下图:
在这里插入图片描述点击选择Generic Linux Device然后点击start Wizard按钮,如下图:
在这里插入图片描述下一个界面填下如下信息:
在这里插入图片描述创建私钥秘钥然后部署,地址一般默认是:/home/liefyuan/.ssh/
点击Create New Key Pair按钮来创建私钥公钥
在这里插入图片描述选择如下图配置:
在这里插入图片描述生成以后,点击Deplay Public Key按钮进行部署公钥。
在这里插入图片描述这时候弹出对话框,输入开发板的用户密码:rockchip
在这里插入图片描述部署完成如下:
在这里插入图片描述还可以点击Test进行测试
在这里插入图片描述最后记得点击Apply按钮进行保存设置。

最后在Kits里面,根据下图选择好运行的设备。在这里插入图片描述

运行到开发板

打开要编译的 QT 代码的 pro 文件,在里面添加以下代码,这俩行代码的意思是说把编译的可执行程序下载到开发板的/opt 目录下并执行。

target.path=/opt
INSTALLS+=target

否则在部署的时候可能会出现

21:53:56: Starting  ...
21:53:56: Cannot run: No command given.

运行左下角的点击:
在这里插入图片描述

在这里插入图片描述然后开发板上就运行起来了。

在这里插入图片描述

3.3 如果配置设备失败

在目录:/home/liefyuan/.ssh/如果在私钥、公钥配置好的情况下有三个文件:

  • qtc_id
  • qtc_id.pub
  • known_hosts

配置设备失败,可以删除qtc_id和qtc_id.pub文件,清空known_hosts文件里面的内容。
然后重新生成秘钥私钥,配置ssh。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【RP-RV1126】Ubuntu上配置Buildroot Qt 开发板远程开发调试环境(SSH) 的相关文章

  • F407标准库之定时器

    主要参考正点原子数据手册和源码资料等 第31 通用定时器基本原理讲解 哔哩哔哩 bilibili 此处记录较为重要或者较易出错的一些遗漏之处 xff0c 作为补充 定时器中断 定时器相关的库函数主要集中在固件库文件 stm32f4xx ti
  • F407标准库之基础知识

    关于STM32的结构体封装 在STM32中 xff0c 有两种容易弄混的结构体封装 第一种是系统对底层寄存器的封装 结构体类型定义好之后 xff0c 是不会分配地址空间的 xff0c 此时只是个类型定义 xff0c 之后使用的时候 xff0
  • c++架构师需要掌握哪些知识

    目录 本文技术梳理主要针对于三类人群的技术需求 c c 43 43 Linux服务器端开发岗位分析 经常被问到的问题 xff1a 技术体系建立的好处 c c 43 43 Linux服务器开发技术学习路径 一 精进基石 二 高性能网络设计 三
  • cmake:使用execute_process调用shell命令或脚本

    CMake可以通过execute process调用shell命令或者脚本 xff0c 其原型如下 xff1a execute process COMMAND lt cmd1 gt args1 COMMAND lt cmd2 gt args
  • 树莓派3B+上安装ubutun mate 18.04.2

    1 准备16G以上储存卡 xff0c 读卡器 2 准备两个软件 xff1a SDCardFormatter Win32DiskImager分别用于储存卡格式化和写入系统文件 链接如下 xff1a 链接 xff1a https pan bai
  • linux应用编程--思维导图

    思维导图软件是xmind 下载源文件点击打开链接
  • 深度学习中Batch、Iteration、Epoch的概念与区别

    在神经网络训练中 xff0c 一般采用小批量梯度下降的方式 Batch Epoch Iteration 就是其中的重要的概念 我们要理解懂得它们都是什么以及它们之间的区别 1 Batch 每次迭代时使用的一批样本就叫做一个Batch xff
  • STM32使用CubeMAX配置的串口中断接收方法

    STM32使用CubeMAX配置的串口中断接收方法 目录 1 定位串口中断发生的地方 2 处理串口中断接收的流程是 xff1a xff08 1 xff09 初始化串口 xff08 2 xff09 在main中第一次调用接收中断函数 xff0
  • SAP 寻找增强点的方法

    SAP中寻找增强的实现方法 SAP 增强已经发展过几代了 xff0c 可参考 SAP 标准教材 BC425 和 BC427 简单的说SAP的用户出口总共有四 代 1 第一代 基于源代码的增强 SAP提供一个空代码的子过程 xff0c 在这个
  • SNMPV3的实现原理

    在snmp发展到V3版本后 xff0c 把snmp的安全性提升到一个新高度 xff0c 这同时也带来了实现上的复杂性 在02年 xff0c 03年我都曾经想进一步的了解它的实现 xff0c 但都没什么进展 这次在实现Csnmp的过程中 xf
  • ubuntu更新错误:dists/artful/main/binary-arm64/Packages 404 Not Found

    Failed to fetch http archive ubuntu com ubuntu dists artful main binary arm64 Packages 404 Not Found IP 91 189 88 162 80
  • 个人公众号开通啦!!!!

    已经开通了个人微信公众号 xff1a 编程时光机 以后会在公众号里和大家分享知识和生吞活 xff0c 欢迎大家关注 xff01 xff01
  • 小白学AI系列(一)-- AI简史

    经过一段时间的酝酿 xff0c 小白学AI系列也正是开始了 xff01 小编将从三个阶段和大家一起入门人工智能 xff0c 掌握常用机器学习算法和数据分析技巧 小编专业为数据融合方向 xff0c 也曾接触过机器学习 xff0c 但由于人工智
  • 小白学AI系列(二) -- Python模块和函数

    原文地址 xff1a 小白学AI系列 xff08 二 xff09 Python模块和函数 今天的内容是带大家学习解释性语言 Python 小编有学过一段时间的C 43 43 和Matlab 相对于二者而言 xff0c Python是作为学习
  • PX4固定翼调试校准流程及实验相关问题记录分析

    pixhawk固定翼调试流程 对于px4固件 xff0c 其对应选择的一般是qgroundcontrol地面站 xff08 APM一般使用Mission Planner xff09 本次调试的固件版本是1 6 5dev xff08 最新的固
  • Ubuntu16.04下PX4环境快速搭建及uORB通信机制

    Ubuntu16 04下的环境搭建 之前搭建PX4环境常常编译不通 xff0c cmake gcc 以及交叉编译器gcc arm none eabi的版本问题导致make固件报错 xff0c 好不容易编译通过了 xff0c 在进行安装jMA
  • PX4固件通过UART连接串口读取超声波,和树莓派3通信

    添加串口读取程序 首先在Firmware msg文件夹下添加rw uart msg span class hljs keyword char span span class hljs number 5 span datastr span c
  • PX4自主飞行相关问题

    调试入坑 赶在回去之前把10月1日新校区试飞相关问题记录一下 首先是调试相关问题 调试具体流程 在校准遥控器时经常出现校准一半就停止的问题 xff0c 期初认为是固件问题 xff0c 换了1 6 5 1 6 3 xff0c 1 5 5三个固
  • PID控制器及其C++实现

    PID控制器原理 PID控制器实际上是对偏差的控制 其原理图如下 其数学的表达如下 u x 61 K p e r r t 43 1 T e r r t d t 43 T D d e r r t d t u x
  • Oracle Systimestamp 函数

    在Oracle PLSQL中 xff0c Systimestamp 函数返回本机数据库上当前系统日期和时间 包括微秒和时区 Systimestamp 函数的语法是 xff1a systimestamp 应用于 xff1a Oracle 9i

随机推荐

  • px4源码解读之fw_att_control

    目录 程序和控制流程源码解读总结 程序和控制流程 个人简单的总结了一下整个程序的流程如下 整个的控制流程图可以在官网中找到 源码解读 在解读源码之前 需要提几个公式 第一个就是协调转弯中的偏航控制 也就是流程图中为什么输入是空速 p 61
  • 安装Mavlink generator出现UnicodeEncodeError错误

    最近在看mavlink 在执行官网的操作时出现了问题 问题如下 span class hljs constant Exception span span class hljs keyword in span span class hljs
  • mc_att_control基础知识:向量运算和罗德里格斯旋转

    向量的叉乘和点乘 在我们的mc att control中有我们的向量的点乘和叉乘 一般遇到的都是三维的运算 S O 3 S O 3 李群 向量点乘 假设向量 a 61 a 1 a 2 a 3
  • 低通滤波器和高通滤波器的程序实现原理推导

    傅立叶变换 拉普拉斯变换和Z变换 对于信号分析而言 傅立叶变换是必不可少的 我们都知道傅立叶变换是把系统从时域变换到频域进行分析 那么拉普拉斯变换和Z变换是干什么的 简单的来说 由于傅里叶变换的收敛有一个狄利克雷条件 xff0c 要求信号绝
  • PX4源码解读之fw_pos_control_l1

    固定翼的位置控制是一个很重要问题 它不同于旋翼的控制 需要对速度和高度进行解耦控制 并且其不能像旋翼那样进行悬停 其转弯的时候有一个转弯半径 本博客不会对源码进行详细的解读 主要是分享一些自己读源码时的资料 自己读的过程中也有注释 想要的同
  • 四元数表示旋转的理解

    哈密尔顿 为了纪念四元数的发明者哈密尔顿 爱尔兰于1943年11月15日发行了下面这张邮票 哈密尔顿简直是个天才 哈密尔顿从小到进入大学之前没有进过学校读书 xff0c 他的教育是靠叔父传授以及自学 他找到了法国数学家克莱罗 xff08 C
  • mc_att_control源码解析

    目录 源码分析内环控制外环控制 之前写了博客分析了一下旋翼姿态控制的基础知识 mc att control基础知识 这次就对照代码将整个旋翼姿态控制过程呈现一遍 先看一下整个程序的框图 从图中可以看到 实际上整个控制分成内外两个环进行控制
  • PX4下载指定版本代码和刷固件的三种方式

    由于之前下载的是1 7版本的代码 现在v5版本的px4需要最新的代码固件 因此这里记录一下 查看自己代码版本 查看自己仓库代码版本的命令如下 git describe always tags 输出 v1 7 0 rc3 9 g0e1c7eb
  • Python怎么调用matlab的

    文章目录 环境的安装安装合适的python环境安装用于 Python 的 MATLAB 引擎 API 环境的安装 安装合适的python环境 研究这个也是在知乎上突然看到的 xff0c 以前python写的多 xff0c 现在由于工作需要
  • insert语句中sequence的使用方法

    我们常常在表中需要插入一些自动增长的值 一方面 我们可以手动添加这些值 xff0c 另一方面 oracle提供的sequence可以帮助我们实现插入的值自动增长 而不需要我们手动的提供值 我们需要做的就是设置好sequence的初值和增长值
  • Ubuntu 安装 vnc server

    查看Ubuntu系统版本 xff1a sudo lsb release a 安装Xfce桌面环境 xff1a sudo apt install xfce4 xfce4 goodies 配置gnome桌面环境 xff0c 参考 xff1a h
  • 嵌入式Linux(4):应用层和内核层数据传输

    文章目录 简介1 如果在应用层使用系统IO对设备节点进行打开 xff0c 关闭 xff0c 读写等操作会发生什么呢 xff1f 写个例子2 假如驱动层的file operations里面没有实现read之类的操作函数 xff0c 会发生什么
  • 嵌入式Linux(5):物理地址到虚拟地址映射

    文章目录 理论知识1 使能了MMU以后有什么好处呢 xff1f 2 MMU非常复杂 xff0c 那么我们如何完成物理地址到虚拟地址的转换呢 xff1f 3 如何查看哪些物理地址被映射过了呢 xff1f 实例 RK3568 理论知识 在Lin
  • 嵌入式Linux(6):驱动模块传参

    文章目录 1 什么是驱动传参 xff1f 2 驱动传参有什么作用 xff1f 3 怎么给我们的驱动传参数 xff1f 传递普通参数传递数组 1 什么是驱动传参 xff1f 驱动传参就是在安装驱动模块 xff08 ko文件 xff09 的时候
  • 嵌入式Linux(7):字符设备驱动--申请设备号

    文章目录 1 字符设备和杂项设备的区别2 注册字符类设备号的两个办法第一种 xff1a 静态分配一个设备号第二种 xff1a 动态分配注销设备号 写代码不带参数测试 xff08 动态分配 xff09 xff1a 带参数测试 xff08 静态
  • 嵌入式Linux(8):字符设备驱动--注册字符类设备

    文章目录 前言上代码 前言 杂项设备 注册杂项设备 xff1a span class token function misc register span span class token punctuation span span clas
  • 嵌入式Linux(9):字符设备驱动--自动创建设备节点

    文章目录 前言1 怎么自动创建一个设备节点 xff1f 2 什么是mdev3 什么是udev 4 怎么自动创建设备节点 xff1f 5 创建和删除类函数 自动生成类代码 6 创建设备函数 自动生成节点代码 前言 在上一节中 xff0c 使用
  • 嵌入式Linux(10):杂项设备和字符设备驱动总结

    文章目录 杂项设备驱动框架图 xff1a 字符设备驱动框架图 xff1a 相对来说 xff0c 如果是操作几个GPIO的操作 xff0c 其实使用简单的杂项设备驱动就可以了 xff0c 字符驱动相对会复杂一点
  • 嵌入式Linux:FrameBuffer 和 DRM/KMS(一)

    文章目录 前言 Linux 的两种显示方案FrameBufferDRM1 GEM2 KMS 参考 xff1a RK3399 探索之旅 Display 子系统 基础概念 参考 xff1a DRM架构介绍 xff08 一 xff09 前言 Li
  • 【RP-RV1126】Ubuntu上配置Buildroot Qt 开发板远程开发调试环境(SSH)

    文章目录 一 前提二 基础设置建设Buildroot编译Qt5配置SSHBuildroot文件系统添加账号密码开发板联网Buildroot文件系统构建时打开rsync功能 三 QtCreator配置3 1 配置Qt交叉编译套件 Kits 配