全志T113开发板Qt远程调试

描述

1引言

 

通常情况下工程师在调试Qt程序时,需要频繁制作镜像烧录到核心板来测试Qt程序是否完善,这样的操作既费时又费力。这时我们可以通过QtCreator设备功能,定义设备后,在x86_64虚拟机上交叉编译qt程序,将程序远程部署到arm64的机子上,然后远程调试,大大提高开发效率。


 

 

2. 调试环境

 

本文基于HD-T113-EVM评估板进行验证,HD-T113-EVM基于HD-T113-S3核心板设计,具备千兆网口、双路CAN-bus、2路RS-232、2路RS-485、LCD、4G/5G、WiFi、音频等,接口丰富,适用于工业现场应用需求,亦方便用户评估核心板及CPU的性能。

远程调试

 

Linux主机

VM16.1.0 + Ubuntu18.04

交叉编译器

arm-linux-gnueabihf

Qt版本

Qt5.12.12

核心板版本

HD-T113-S3 v1.1

内核版本

Linux  kunos 5.4.61 #2 SMP PREEMPT Tue Dec 12 17:29:56 CST 2023 armv7l GNU/Linux

底板版本

HD-T113-EVM v1.2


 

 


 

 

2.1       调试前准备

 

使win10主机、arm开发板和linux虚拟机处于同一网段且三者能互相ping通配置虚拟机ip。虚拟机需要按照以下截图步骤进行设置。


 

远程调试远程调试


 

 


 

    
 

远程调试远程调试

 


 

 

2.2       交叉编译环境设置

 


 

远程调试


 

/work/T113_Tina5.0/out/t113/hd-t113-evm-emmc/buildroot/buildroot/host/qt5/bin/qmake


 

 

2.2.1  编译器

 


 

远程调试


 

GCC


 

/work/T113_Tina5.0/out/t113/hd-t113-evm-emmc/buildroot/buildroot/host/bin/arm-linux-gnueabihf-gcc


 

G++


 

/work/T113_Tina5.0/out/t113/hd-t113-evm-emmc/buildroot/buildroot/host/bin/arm-linux-gnueabihf-g++


 

 

2.2.2  Kits

 


 

远程调试


 

 

2.3       创建新设备

 

打开工具->选项->设备,添加新的Generic Linux Device设备。


 

远程调试远程调试远程调试远程调试远程调试


 

 

 

2.3.1  测试成功

 


 

远程调试


 

 

2.3.2  测试失败

 

1 - 错误描述SSH connectionfailure


 

远程调试


 

错误分析No routeto tohst找不到主机


 

解决方案检查虚拟机与开发板ip是否处于同一网段并且能互相ping通

 


 

2 - 如虚拟机与开发板可以正常ping通但无法ssh登录开发板


 

远程调试


 

原因:一台主机上有多个Linux系统,会经常切换,那么这些系统使用同一ip,登录过一次后就会把ssh信息记录在本地的/.ssh/known_hsots文件中,切换该系统后再用ssh访问这台主机就会出现冲突警告,需要手动删除修改known_hsots里面的内容。


 

 


 

有以下两个解决方案:


 

1.删除修改known_hsots记录,重新登录,使known_hsots生成新的记录;


 

2.修改配置文件“~/.ssh/config”,添加下两行,


 

StrictHostKeyChecking no


 

UserKnownHostsFile /dev/null


 

重启服务器。


 

 


 

优缺点:


 

1.需要每次手动删除文件内容,一些自动化脚本的无法运行(在SSH登陆时失败),但是安全性高;


 

2.SSH登陆时会忽略known_hsots的访问,但是安全性低;


 

 


 

 

2.4       设置Kits->Device

 


 

远程调试


 

 

2.5       部署应用

 

1 - 新建项目时,选择Kits为T113


 

远程调试


 

2 - 编译应用


 

远程调试


 

3 - 部署应用到开发板


 

远程调试


 

4 - 提示


 

部署成功后,可能会提示。kbcommon: ERROR: failed to add defaultinclude path /usr/share/X11/xkb


 

5–运行结果展示

远程调试
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分