1引言
通常情況下工程師在調(diào)試Qt程序時,需要頻繁制作鏡像燒錄到核心板來測試Qt程序是否完善,這樣的操作既費(fèi)時又費(fèi)力。這時我們可以通過QtCreator設(shè)備功能,定義設(shè)備后,在x86_64虛擬機(jī)上交叉編譯qt程序,將程序遠(yuǎn)程部署到arm64的機(jī)子上,然后遠(yuǎn)程調(diào)試,大大提高開發(fā)效率。
2.調(diào)試環(huán)境
本文基于HD-T113-EVM評估板進(jìn)行驗(yàn)證,HD-T113-EVM基于HD-T113-S3核心板設(shè)計(jì),具備千兆網(wǎng)口、雙路CAN-bus、2路RS-232、2路RS-485、LCD、4G/5G、WiFi、音頻等,接口豐富,適用于工業(yè)現(xiàn)場應(yīng)用需求,亦方便用戶評估核心板及CPU的性能。
![1.jpg](https://file1.elecfans.com/web2/M00/BB/F4/wKgZomWeZ9uAVgcFAAIRJSH_cc8578.jpg)
Linux主機(jī) | VM16.1.0+Ubuntu18.04 |
交叉編譯器 | arm-linux-gnueabihf |
Qt版本 | Qt5.12.12 |
核心板版本 | HD-T113-S3v1.1 |
內(nèi)核版本 | Linuxkunos5.4.61#2SMPPREEMPTTueDec1217:29:56CST2023armv7lGNU/Linux |
底板版本 | HD-T113-EVMv1.2 |
2.1調(diào)試前準(zhǔn)備
使win10主機(jī)、arm開發(fā)板和linux虛擬機(jī)處于同一網(wǎng)段且三者能互相ping通配置虛擬機(jī)ip。虛擬機(jī)需要按照以下截圖步驟進(jìn)行設(shè)置。
![3.png](https://file1.elecfans.com/web2/M00/BC/DF/wKgaomWeZ9uAcJOgAABq82f7Ux8150.png)
![4.png](https://file1.elecfans.com/web2/M00/BC/DF/wKgaomWeZ9uAcCYLAABmz43HWK8880.png)
![5.jpg](https://file1.elecfans.com/web2/M00/BB/F4/wKgZomWeZ9uAPBLfAAC6d4cR2m4395.jpg)
![6.png](https://file1.elecfans.com/web2/M00/BB/F4/wKgZomWeZ9uAGUKBAACqX0hdI_k334.png)
2.2交叉編譯環(huán)境設(shè)置
![7.png](https://file1.elecfans.com/web2/M00/BC/DF/wKgaomWeZ9uAJm3IAADcutaBLqg339.png)
/work/T113_Tina5.0/out/t113/hd-t113-evm-emmc/buildroot/buildroot/host/qt5/bin/qmake
2.2.1編譯器
![8.png](https://file1.elecfans.com/web2/M00/BB/F4/wKgZomWeZ9uAEuEGAAFK9McvZ90102.png)
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
![9.png](https://file1.elecfans.com/web2/M00/BB/F4/wKgZomWeZ9yAFvqkAAK7rjd_JSs935.png)
2.3創(chuàng)建新設(shè)備
打開工具->選項(xiàng)->設(shè)備,添加新的GenericLinuxDevice設(shè)備。
![10.png](https://file1.elecfans.com/web2/M00/BC/DF/wKgaomWeZ92AJKC2AAFVAdBxVkk230.png)
![11.png](https://file1.elecfans.com/web2/M00/BB/F4/wKgZomWeZ92AEU9DAABYKv2cdjY358.png)
![12.png](https://file1.elecfans.com/web2/M00/BC/DF/wKgaomWeZ92AR0h5AACatXuVbUw984.png)
![13.png](https://file1.elecfans.com/web2/M00/BB/F4/wKgZomWeZ92AEdlHAAD4I0ZI5gw327.png)
![14.png](https://file1.elecfans.com/web2/M00/BC/DF/wKgaomWeZ92AKLNsAAFiHjP2KoA244.png)
2.3.1測試成功
![15.png](https://file1.elecfans.com/web2/M00/BC/DF/wKgaomWeZ92AaSGOAACeLqdcAsM943.png)
2.3.2測試失敗
1-錯誤描述SSHconnectionfailure
![16.png](https://file1.elecfans.com/web2/M00/BB/F4/wKgZomWeZ92AF6KwAABN3UwDbjI465.png)
錯誤分析Noroutetotohst找不到主機(jī)
解決方案檢查虛擬機(jī)與開發(fā)板ip是否處于同一網(wǎng)段并且能互相ping通
2-如虛擬機(jī)與開發(fā)板可以正常ping通但無法ssh登錄開發(fā)板
![17.png](https://file1.elecfans.com/web2/M00/BC/DF/wKgaomWeZ92AalGZAAEIGqZ70Bk626.png)
原因:一臺主機(jī)上有多個Linux系統(tǒng),會經(jīng)常切換,那么這些系統(tǒng)使用同一ip,登錄過一次后就會把ssh信息記錄在本地的/.ssh/known_hsots文件中,切換該系統(tǒng)后再用ssh訪問這臺主機(jī)就會出現(xiàn)沖突警告,需要手動刪除修改known_hsots里面的內(nèi)容。
有以下兩個解決方案:
1.刪除修改known_hsots記錄,重新登錄,使known_hsots生成新的記錄;
2.修改配置文件“~/.ssh/config”,添加下兩行,
StrictHostKeyCheckingno
UserKnownHostsFile/dev/null
重啟服務(wù)器。
優(yōu)缺點(diǎn):
1.需要每次手動刪除文件內(nèi)容,一些自動化腳本的無法運(yùn)行(在SSH登陸時失敗),但是安全性高;
2.SSH登陸時會忽略known_hsots的訪問,但是安全性低;
2.4設(shè)置Kits->Device
![18.png](https://file1.elecfans.com/web2/M00/BC/DF/wKgaomWeZ92AdG3SAAIrl29ToyU916.png)
2.5部署應(yīng)用
1-新建項(xiàng)目時,選擇Kits為T113
![19.png](https://file1.elecfans.com/web2/M00/BB/F4/wKgZomWeZ92AdLu_AAC6bZAX694690.png)
2-編譯應(yīng)用
![20.png](https://file1.elecfans.com/web2/M00/BC/DF/wKgaomWeZ96ADpPuAADUp257rkA305.png)
3-部署應(yīng)用到開發(fā)板
![21.png](https://file1.elecfans.com/web2/M00/BB/F4/wKgZomWeZ92AChCKAADIoZo9opY868.png)
4-提示
部署成功后,可能會提示。kbcommon:ERROR:failedtoadddefaultincludepath/usr/share/X11/xkb
5–運(yùn)行結(jié)果展示
![22.jpg](https://file1.elecfans.com/web2/M00/BB/F4/wKgZomWeZ96ABRIbAAPNhYMlhhk345.jpg)
-
遠(yuǎn)程調(diào)試
+關(guān)注
關(guān)注
0文章
39瀏覽量
8606 -
全志
+關(guān)注
關(guān)注
24文章
248瀏覽量
53138 -
QTcreator
+關(guān)注
關(guān)注
0文章
11瀏覽量
6832
發(fā)布評論請先 登錄
相關(guān)推薦
全志T113-S3開發(fā)板網(wǎng)絡(luò)通信
![<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113</b>-S3<b class='flag-5'>開發(fā)板</b>網(wǎng)絡(luò)通信](https://file.elecfans.com/web2/M00/5D/1D/poYBAGLzEqqAd54TAAAbaJrrfwc915.png)
如何用OpenCV進(jìn)行手勢識別--基于米爾全志T527開發(fā)板
![如何用OpenCV進(jìn)行手勢識別--基于米爾<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T</b>527<b class='flag-5'>開發(fā)板</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
基于全志T113-i的系統(tǒng)快速啟動顯示Qt界面、LVGL界面案例
![基于<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113</b>-i的系統(tǒng)快速啟動顯示<b class='flag-5'>Qt</b>界面、LVGL界面案例](https://file1.elecfans.com/web3/M00/00/12/wKgZPGdGdAqAfAoRAAALvR-kgP4674.jpg)
DIY了一臺無人機(jī),用全志T113芯片
用戶手冊 | 全志T113-S3開發(fā)板——SDK編譯指南
![用戶手冊 | <b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113</b>-S3<b class='flag-5'>開發(fā)板</b>——SDK編譯指南](https://file.elecfans.com/web2/M00/5D/1D/poYBAGLzEqqAd54TAAAbaJrrfwc915.png)
開源項(xiàng)目!DIY了一臺無人機(jī),用全志T113芯片
8月全志芯片開源項(xiàng)目分享合集
用全志T113做了塊多功能卡片電腦,成本只要60塊
7折購!米爾基于全志T113系列開發(fā)板
![7折購!米爾基于<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113</b>系列<b class='flag-5'>開發(fā)板</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
評論