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

2022-9-30 16:51 597 2 3 分类: 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远程调试的过程以及一些问题产生的原因,希望能够对大家有帮助。

文章评论1条评论)

登录后参与讨论

yzw92 2022-10-3 09:38

谢谢分享
相关推荐阅读
祢豆子 2022-11-21 09:40
MPU进化,A核与M核通信过程解析
随着市场对嵌入式设备功能需求的提高,市面上出现了集成嵌入式处理器和单片机的主控方案,以兼顾性能和效率。在实际应用中,嵌入式处理器和单片机之间需要进行大量且频繁的数据交换,如果采用低速串行接口,则数据传...
祢豆子 2022-11-15 16:38
基于RK3568的NVR,赋能安防智能化升级
纵观视频监控系统的技术变革,从第一代的模拟监控到第二代的数字监控,再到现在盛行的网络监控,视频监控系统已成功实现了数字化、网络化和高清化。在监控场景日趋复杂,应用领域日益广泛的今天,智能化已成为视频监...
祢豆子 2022-11-05 15:34
全志A40i开发板编译环境的搭建
笔者主要下载了官方已经建立好环境的Ubuntu虚拟机包,还有OKA40i-C开发板的Linux用户资料。【1】建立编译环境1、安装ubuntu虚拟机,由于我在以前的开发板试用中已经安装好了VMware...
祢豆子 2022-11-04 11:35
i.MX8MP开发板如何移植驱动
各位工程师用户在对飞凌嵌入式OKMX8MP-C开发板进行开发的过程中,可能会遇到需要移植驱动的情况。为避免用户因不了解移植驱动的过程而影响开发进度,今天小编会以写一个hello驱动为例,演示移植驱动的...
祢豆子 2022-10-31 08:55
AM62x的SPI总线怎么用
SPI是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。T...
我要评论
1
2
1
2
3
4
5
6
7
8
9
0
关闭 热点推荐上一条 /4 下一条