原创 只需4步,让Qt远程调试更简单

2022-9-30 16:51 1581 6 4 分类: MCU/ 嵌入式
相信各位工程师小伙伴都有这样的体会——当调试自己的Qt程序时,尤其是在调整界面显示和整体布局时,需要频繁地制作镜像烧写到核心板里来测试Qt程序是否完善,这样的操作既费时又费力。
那么,有没有更快捷的方法呢?今天小编就用OKT3-C开发板来为大家介绍如何快速进行Qt远程调试。话不多说,我们直接切入正题。
一、修改工程配置
Step 1:
打开OKT3-C开发板开发环境中的Qt软件,按照以下顺序依次点击:【工具→选项→构建和运行→Debuggers→Add】,选择gdb调试插件路径下的aarch64-linux-gnu-gdb,并命名gdb路径:
/home/forlinx/work/lichee/brandy/armv8_toolchain/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin/aarch64-linux-gnu-gdb (注:此路径是小编自己环境中的路径,大家自己实际环境前的路径会有所差异)

编辑切换为居中
添加图片注释,不超过 140 字(可选)

Step 2:
依次点击【工具→选项→构建和运行】
再点击Kit,添加一个新的配置,名称自拟即可,设备类型选择【通用Linux设备】,调试器选择刚刚创建好的Debuggers即可。

编辑切换为居中
添加图片注释,不超过 140 字(可选)

Step 3:
点击【工具→选项】
在最左侧选项里选择【设备】,进入【设备】界面后点击Add,添加GenericLinux Device(default for GenericLinux)设备,输入开发板的网络IP以及SSH登录的用户名和密码,再点击Test进行测试,验证连接后配置完成。

编辑切换为居中
添加图片注释,不超过 140 字(可选)


编辑切换为居中
添加图片注释,不超过 140 字(可选)

到这一步,可能会有朋友要问了——“该如何配置OKT3-C开发板的SSH呢?”小编来为大家简单地介绍一下:
1.设置账号密码: adduser+账号 passwd+密码
2.修改配置文件: /etc/ssh/sshd_config 将#PermitRootLoginprohibit-password 修改为PermitRootLogin yes,保存退出
3.重启 SSHD: 输入命令 /etc/init.d/S50sshdrestart ,重启SSHD服务
4.设置要修改的IP地址: 输入命令:ifconfig eth0 +IP
Step 4:
指定目标文件路径
在项目这个地方选择的存放路径要在.pro文件中声明。

编辑切换为居中
添加图片注释,不超过 140 字(可选)


编辑切换为居中
添加图片注释,不超过 140 字(可选)


二、成果展示
按步骤完成以上操作后,我们一起来看最后的成果吧。我们简单搭建一个界面,作为测试使用。

编辑切换为居中
添加图片注释,不超过 140 字(可选)

屏幕显示:

编辑切换为居中
添加图片注释,不超过 140 字(可选)

模拟研发人员进行增删:

编辑切换为居中
添加图片注释,不超过 140 字(可选)

屏幕显示:

编辑切换为居中
添加图片注释,不超过 140 字(可选)

可以看到,我们在Qt工程中做出的修改已经成功的显示在屏幕上了,中间并不需要繁琐的编译烧写,一键运行就可以看到实时的修改,这大大减小了开发人员的工作量,提高了工作效率。
三、经验分享
在进行Qt远程调试的过程中,小编将自己踩过的一些坑和大家分享一下,希望各位工程师小伙伴可以少走弯路。
1.“连接错误”问题

编辑
添加图片注释,不超过 140 字(可选)

2.“部署失败”问题

编辑切换为居中
添加图片注释,不超过 140 字(可选)

出现上图提示问题的原因是,在OKT3-C开发板上已经运行了一个程序,此时再运行一个新的程序就会部署失败。这时,只需要在开发板上杀掉该进程,就可以正确运行Qt程序。

编辑切换为居中
添加图片注释,不超过 140 字(可选)

四、总结


总结一下——通过配置虚拟机中的Qt应用程序、虚拟机网络IP,通过gdb调试和ssh服务,实现在虚拟机中编写Qt程序后,再点击绿色三角形的运行按钮,,即可在开发板中安装运行对应的Qt程序。

以上就是小编为大家整理的快速进行Qt远程调试的过程以及一些问题产生的原因,希望能够对大家有帮助。
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

yzw92 2022-10-3 09:38

谢谢分享
相关推荐阅读
祢豆子 2024-12-30 13:39
虚拟控制器解决方案
01 Virtual PLCnext Control虚拟控制器解决方案软硬解耦,虚拟化SoftPLC解决方案软硬解耦,打破传统束缚vPLC解决方案通过软硬解耦设计,使PLC软件不再依赖专属硬件,能灵活...
祢豆子 2024-12-23 09:05
T113-i开发板RISC-V核的实时应用方案
随着市场对嵌入式设备的功能需求越来越高,集成了嵌入式处理器和实时处理器的主控方案日益增多,以便更好地平衡性能与效率——实时核负责高实时性任务,A核处理复杂任务,两核间需实时交换数据。然而在数据传输方面...
祢豆子 2024-12-19 16:14
如何快捷使用瑞芯微RK3568J开发板
概述本文详细介绍了RK3568在Linux、Android、Ubuntu系统编译过程中可能遇到的问题,包括设备树路径、源码编译不通过、内核编译配置错误、buildroot编译问题、交叉编译工具位置、编...
祢豆子 2024-12-16 09:10
RK3568的显示问题及其解决方法
概述RK3568作为一款高性能的处理器,在显示方面有着广泛的应用。然而,在实际使用过程中,用户可能会遇到一系列显示相关的问题。本文旨在针对这些问题进行分析,并提供相应的解决方案,以帮助用户更好地使用R...
祢豆子 2024-12-11 10:17
RK3562J CAN-FD控制器的调试方法
“SPI转CAN-FD”是嵌入式开发领域的常用方法,它极大地促进了不同通信接口之间的无缝连接,并显著降低了系统设计的复杂性。飞凌嵌入式依托瑞芯微RK3562J处理器打造的OK3562J-C开发板因为内...
祢豆子 2024-11-26 11:01
AM6254开发的烧写问题排查
在项目的开发过程中,各位工程师小伙伴们可能会遇到各种类型的问题,其中“烧写问题”就是非常典型的一种。本篇文章,将以飞凌嵌入式OK6254-C开发板为例,详细探讨大家在烧写过程中可能遇到的问题,并提供一...
EE直播间
更多
我要评论
1
6
关闭 站长推荐上一条 /3 下一条