1引言
通常情況下工程師在調試Qt程序時,需要頻繁制作鏡像燒錄到核心板來測試Qt程序是否完善,這樣的操作既費時又費力。這時我們可以通過QtCreator設備功能,定義設備后,在x86_64虛擬機上交叉編譯qt程序,將程序遠程部署到arm64的機子上,然后遠程調試,大大提高開發(fā)效率。
2.調試環(huán)境
本文基于HD-T113-EVM評估板進行驗證,HD-T113-EVM基于HD-T113-S3核心板設計,具備千兆網(wǎng)口、雙路CAN-bus、2路RS-232、2路RS-485、LCD、4G/5G、WiFi、音頻等,接口豐富,適用于工業(yè)現(xiàn)場應用需求,亦方便用戶評估核心板及CPU的性能。
Linux主機 | VM16.1.0+Ubuntu18.04 |
交叉編譯器 | arm-linux-gnueabihf |
Qt版本 | Qt5.12.12 |
核心板版本 | HD-T113-S3v1.1 |
內核版本 | Linuxkunos5.4.61#2SMPPREEMPTTueDec1217:29:56CST2023armv7lGNU/Linux |
底板版本 | HD-T113-EVMv1.2 |
2.1調試前準備
使win10主機、arm開發(fā)板和linux虛擬機處于同一網(wǎng)段且三者能互相ping通配置虛擬機ip。虛擬機需要按照以下截圖步驟進行設置。
2.2交叉編譯環(huán)境設置
/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.2Kits
2.3創(chuàng)建新設備
打開工具->選項->設備,添加新的GenericLinuxDevice設備。
2.3.1測試成功
2.3.2測試失敗
1-錯誤描述SSHconnectionfailure
錯誤分析Noroutetotohst找不到主機
解決方案檢查虛擬機與開發(fā)板ip是否處于同一網(wǎng)段并且能互相ping通
2-如虛擬機與開發(fā)板可以正常ping通但無法ssh登錄開發(fā)板
原因:一臺主機上有多個Linux系統(tǒng),會經(jīng)常切換,那么這些系統(tǒng)使用同一ip,登錄過一次后就會把ssh信息記錄在本地的/.ssh/known_hsots文件中,切換該系統(tǒng)后再用ssh訪問這臺主機就會出現(xiàn)沖突警告,需要手動刪除修改known_hsots里面的內容。
有以下兩個解決方案:
1.刪除修改known_hsots記錄,重新登錄,使known_hsots生成新的記錄;
2.修改配置文件“~/.ssh/config”,添加下兩行,
StrictHostKeyCheckingno
UserKnownHostsFile/dev/null
重啟服務器。
優(yōu)缺點:
1.需要每次手動刪除文件內容,一些自動化腳本的無法運行(在SSH登陸時失?。?,但是安全性高;
2.SSH登陸時會忽略known_hsots的訪問,但是安全性低;
2.4設置Kits->Device
2.5部署應用
1-新建項目時,選擇Kits為T113
2-編譯應用
3-部署應用到開發(fā)板
4-提示
部署成功后,可能會提示。kbcommon:ERROR:failedtoadddefaultincludepath/usr/share/X11/xkb
5–運行結果展示
-
遠程調試
+關注
關注
0文章
34瀏覽量
8582 -
全志
+關注
關注
24文章
224瀏覽量
52877 -
QTcreator
+關注
關注
0文章
11瀏覽量
6763
發(fā)布評論請先 登錄
相關推薦
評論