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

2022-9-30 16:51 1710 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

谢谢分享
相关推荐阅读
祢豆子 2025-02-28 14:14
嵌入式系统存储的软件优化策略
在嵌入式系统开发领域,存储器作为信息交互的核心载体,其技术特性直接影响着系统性能与稳定性。然而,有些人在面对Linux、安卓等复杂操作系统环境时,理解其存储机制尚存局限,为突破这些技术瓶颈,飞凌嵌入式...
祢豆子 2025-02-27 08:55
RK3562J 处理器 M 核启动实操
一、RK3562J处理器概述RK3562J处理器是一款高性能、多核心的处理器,采用了独特的异构架构设计。它集成了4个Cortex-A53核心和1个Cortex-M0核心,其中4个Cortex-A53核...
祢豆子 2025-02-26 14:08
i.MX93系列开发板部署LVGL
一个易用且轻量化的UI可以大大提高用户的使用效率和满意度——通过快速启动、直观操作和及时反馈,帮助用户快速上手并高效完成任务;轻量化设计则可以减少资源占用,提升启动和运行速度,增强产品竞争力。LVGL...
祢豆子 2025-02-25 09:16
RK3576核心板外部电路最小系统原理图
本文档对应产品为飞凌嵌入式基于瑞芯微RK3576处理器设计的FET3576-C 核心板,描述了FET3576-C 的原理图设计、功能接口设计特性等,本文旨在帮助工程师快速的熟悉本产品,便于开...
EE直播间
更多
我要评论
1
6
关闭 站长推荐上一条 /3 下一条