qt远程开发工控机 只需4步,让Qt远程调试更简单——飞凌技术贴

小编 2024-11-23 官方维修 23 0

只需4步,让Qt远程调试更简单——飞凌技术贴

文章来源:飞凌嵌入式官网

飞凌嵌入式官网-ARM嵌入式核心板、开发板、工控机、单片机解决方案-专注智能设备核心平台研发与制造 - 保定飞凌嵌入式技术有限公司

相信各位工程师小伙伴都有这样的体会——当调试自己的Qt程序时,尤其是在调整界面显示和整体布局时,需要频繁地制作镜像烧写到核心板里来测试Qt程序是否完善,这样的操作既费时又费力。

那么,有没有更快捷的方法呢?今天小编就用OKT3-C开发板来为大家介绍如何快速进行Qt远程调试。话不多说,我们直接切入正题。

1、修改工程配置

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

(注:此路径是小编自己环境中的路径,大家自己实际环境前的路径会有所差异)

Step 2:

依次点击【工具→选项→构建和运行】

再点击Kit,添加一个新的配置,名称自拟即可,设备类型选择【通用Linux设备】,调试器选择刚刚创建好的Debuggers即可。

Step 3:

点击【工具→选项】

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

到这一步,可能会有朋友要问了——“该如何配置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文件中声明。

2、成果展示

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

屏幕显示:

模拟研发人员进行增删:

屏幕显示:

可以看到,我们在Qt工程中做出的修改已经成功的显示在屏幕上了,中间并不需要繁琐的编译烧写,一键运行就可以看到实时的修改,这大大减小了开发人员的工作量,提高了工作效率。

3、经验分享

在进行Qt远程调试的过程中,小编将自己踩过的一些坑和大家分享一下,希望各位工程师小伙伴可以少走弯路。

1.“连接错误”问题

有时会出现如上图所示的“等待Server响应超时”的错误,不过大家不要慌,再去之前操作过的【Step 3】检查一下,一定要保证这一步的text成功。

2.“部署失败”问题

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

4、总结

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

以上就是小编为大家整理的快速进行Qt远程调试的过程以及一些问题产生的原因,希望能够对大家有帮助。想要了解更多产品信息和技术干货,请百度搜索【飞凌嵌入式】进入飞凌嵌入式官网。

作者:李洪亮

RK3288开发板运行成功!Qt Creator 远程运行和调试硬件相关Qt程序

在Linux程序中,如果需要控制硬件,大部分需要root权限,比如访问串口程序,否则提示 permission denied.解决办法之一就用root用户去运行。

如果想在Qt Creator 直接运行root权限程序,有一种方法是用sudo 打开Qt Creator,但这种方法会让Qt Creator 写入root权限才能访问的文件,这样会让后续正常开发大受干扰,这种方法不可取。

但如果想运程运行root权限的程序,必须在Qt Creator远程用户 配置成root用户,其中步骤有很多细节,下面介绍一下。

配置远程root用户

首先ARM开发板必须支持root远程登录,在开发板编辑

sudo vim /etc/ssd/ssd_config

把其中如下一句去掉注释生效

PermitRootLogin yes

保存后重启sshd服务即可,即可用root登录

sudo service sshd restart

但是在Qt Creator用root登录是不准用密码,只能用密钥文件登录,因上要在开发上位机上生成不对称密匙文件用于登录,常规做法用是 ssh-keygen -t rsa生成,但是在QtCreator 配置窗设备一栏中,有一个生成新密钥的按钮,用这个

Qt Creator会在~/.ssh 生成名为 qtc_id和 qtc_id.pub的密钥对,

其中的公钥重命名

cd ~/.ssh

cat qtc_id.pub >> authorized_keys

#把authorized_keys文件上传到ARM开发板上的/root/.ssh 目录下,重启开发板

scp authorized_keys root@192.168.0.113:/root/.ssh

可以点击设备配置窗口的test按钮,如果显示测试成功表示整个环境正常工作

在对应的kits下直接点击绿色三角运行即可,实测可以访问串口,并且远程运行结果可以显示在应用程序输入页,非常方便,相当于把编译,上传,运行三步一键执行。

配置运程调试

远程调试要上一步基础上做更多的设置。

首先ARM开发板上安装 gdbserver,在其终端执行

sudo apt-get install gdbserver

另开在开发上位机中,不能直接用gdb调试,否则会提示

while parsing target description (at line 10): Target description specified unknown architecture "arm"

必要使用多target版本 gdb-multiarch版本

sudo apt-get install gdb-multiarch

在Qt Creator 中的调试器栏增加对gdb-multiarch的配置

在对应的kits中使用这个调试器

这样就可以点击调试按键进行调试了,其中的File transfers from remote targets can be slow.只是较慢

02:05:54: Checking available ports...

02:05:54: Found 101 free ports.

02:05:54: Starting /usr/bin/gdbserver --multi :10000...

02:05:54: Debugging starts

Listening on port 10000

Remote debugging from host 192.168.0.114

Process /opt/dmaService/bin/dmaService created; pid = 30202

File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead.

Initializing probes-based dynamic linker interface failed.

Reverting to original interface.

在界面上设置断点,还是能直接在断点停下,并且能单独执行。

至此,整个远程环境搭建完毕,Enjoy it!.

相关问答

如何远程看到qt数据?

选择连接电脑,然后和电脑进行连接后就可以远程看到qt数据了选择连接电脑,然后和电脑进行连接后就可以远程看到qt数据了

最好的软件开发工具是什么?

使用AppsGeyser就可以让任何人都可以做应用程序的开发。当然,这个程序并不能让你创建下一个愤怒的小鸟或者Foursquare。4、MobileRoadie:MobileRoadie.....

qt和qtc正常值是多少_千问健康

体检时qt439qtc466,体检报告说轻度延迟,要紧不,需要治疗吗?正常值是多少?:需要医生帮助提供远程诊断:没有

电信光猫I-240W-Q怎么改为路由器-ZOL问答

正是通过这样一个“调制”与“解调”的数模转换过程,从而实现了两台计算机之间的远程通讯。2、路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的...

心电图检查结果情况咨询_千问健康

PR间期144msQRS时间82msQT/QTC间期344/379msP/QRS/T电轴57/54/31RV5/SV1振幅1.815/0.9mv请问这样的心电图检查结果是什么意思?需要医生帮助提供远程...

QT刷单平台是是骗人的吗?安全?_天涯问答

帮一些淘宝卖家销量不好的提高店铺销量和等级滴~拍单大致流程是这样的通过QT平...用主持的网银付款远程单,老板QQ远程登陆他自己的网银付款浏览单,只要浏览卖家...

我想问远程界面怎么重启-ZOL问答

在桌面上找到【这台电脑】在这个图标上点右键再选择【属性】进入系统设置界面点击【远程设置】系统属性界面下的【远程】选项中勾丫允许远程协助连接这台计算...

请教:工控网关一般多少钱?

[回答]“智慧环保”的基础是物联网。基于“数字环保”平台和物联网技术在环保领域的深入发展,构建环保领域覆盖全国的物联网系统,是实现由“数字环保”向...

美国海军最先进的“朱姆沃尔特”级,有最新的发展吗?

朱姆沃尔特战舰在全球来说技术水平是最高的,使用的高尖端技术也是最多的,但是由于他的定位只是对地打击,所以朱姆沃尔特的火力相比其他的战舰要弱很多,当然没...

双方同意离婚,上诉离婚可以远程视频开庭吗?-找法网

法律咨询双方同意离婚,男方因为疫情在国外回不来签字,上诉离婚可以远程视频开庭...立即咨询m5ky****apj40310分钟前提交了咨询zamq****74lkqt3分钟前提交了咨...