在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ARM平臺如何玩轉(zhuǎn)GDB遠程調(diào)試?

Tronlong創(chuàng)龍科技 ? 2021-09-28 18:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前 言

關(guān)于GDB工具

GDB工具是GNU項目調(diào)試器,基于命令行使用。和其他的調(diào)試器一樣,可使用GDB工具單步運行程序、單步執(zhí)行、跳入/跳出函數(shù)、設(shè)置斷點、查看變量等等,它是UNIX/LINUX操作系統(tǒng)下強大的程序調(diào)試工具。GDB支持多種語言,包括Ada、匯編、C/C++、D、Fortran、GO、Objective-C、OpenCL、Modula-2、Pascal和Rust。

GDB具有一種“遠程”模式,此種模式多半是在為嵌入式系統(tǒng)進行調(diào)試時使用,遠程操作指的是:GDB在一部機器內(nèi)運行,而要進行調(diào)試的程序是在另一部機器上運行,支持TCP/IP協(xié)議傳輸?shù)母鞣N網(wǎng)絡(luò),在TCP/IP網(wǎng)絡(luò)及協(xié)議上再加搭傳輸GDB專有的調(diào)試操作通信協(xié)議,如此便能進行遠程調(diào)試。

創(chuàng)龍科技已基于IMX8、ZYNQ、AM5728、AM5708、AM437x、AM335x、T3/A40i等平臺提供了GDB程序調(diào)試方法說明。本文檔主要演示基于TLIMX8-EVM評估板的GDB程序調(diào)試方法說明。如需其他平臺相關(guān)資料,請與我們聯(lián)系。

開發(fā)環(huán)境

Windows開發(fā)環(huán)境:Windows 7 64bit、Windows 10 64bit

虛擬機:VMware15.1.0

Linux開發(fā)環(huán)境:Ubuntu18.04.4 64bit

U-Boot:U-Boot-2020.04

Kernel:Linux-5.4.70

Linux SDK:5.4.70_2.3.0


硬件平臺

TLIMX8-EVM評估板(NXP i.MX 8M Mini)

TLIMX8-EVM評估板


1調(diào)試環(huán)境搭建

確保已搭建好NXPi.MX 8M Mini SDK開發(fā)環(huán)境。若未完成搭建,請先參照產(chǎn)品資料用戶手冊目錄下的Linux開發(fā)環(huán)境搭建手冊,完成SDK開發(fā)包的安裝和配置。

然后進入SDK安裝目錄,并執(zhí)行如下命令加載SDK環(huán)境變量。

Host# cd /home/tronlong/SDK/

Host# source /home/tronlong/SDK/environment-setup-aarch64-poky-linux

圖 1

如環(huán)境搭建正常,執(zhí)行如下命令可查看交叉編譯工具版本。

Host# aarch64-poky-linux-gcc -v

圖 2

2演示程序創(chuàng)建與編譯

執(zhí)行如下命令,新建一個GDB調(diào)試演示程序。

Host# mkdir test

Host# cd test/

Host# gedit test.c

圖 3

在tese.c文件中輸入如下代碼。

#include

void show() {

printf("show\n");

}

int main(int argc, char *argv[])

{

int arr[4] = {1, 2, 3, 4};

int i = 0;

for (i = 0; i < 4; i++) {

printf("arr[%d]: %d\n", i, arr[i]);

}

}

點擊Save,保存退出。


圖 4

執(zhí)行如下命令,修改test文件夾的權(quán)限。

Host# cd ..

Host# sudo chmod -R 777 test/


圖 5

執(zhí)行如下命令加載SDK環(huán)境變量,并進行程序編譯。

備注:編譯時需添加-g參數(shù),編譯過程中的警告可忽略。

編譯完成后,將在test文件夾目錄下生成可執(zhí)行文件test。

Host# cd test/

Host# source /home/tronlong/SDK/environment-setup-aarch64-poky-linux

Host# $CC -O0 -g test.c -o test

圖 6

評估板與PC機連接至同一個路由器后進行上電,執(zhí)行如下命令通過網(wǎng)絡(luò)傳輸?shù)男问?,將編譯后的可執(zhí)行文件test拷貝至評估板。

Target# ifconfig //查看評估板的IP地址

圖 7

Host# scp test root@192.168.0.17:/home/root //將可執(zhí)行文件拷貝至評估板“/home/root/”目錄下,密碼為空即可

圖 8

Target# ls -l //查看評估板接收的可執(zhí)行文件

圖 9

3調(diào)試程序運行

執(zhí)行如下命令,確認虛擬機的IP地址。

Host# ifconfig

圖 10

在評估板文件系統(tǒng)test文件所在路徑下,執(zhí)行如下命令運行g(shù)dbserver程序,開啟監(jiān)聽。

備注:192.168.0.83為虛擬機的IP地址;1234為連接的端口號(自行設(shè)置);test為將要進行調(diào)試的程序。如為Qt界面程序,則需在后面增加-qws參數(shù)。

Target# gdbserver 192.168.0.83:1234 test

圖 11

在PC機test文件所在路徑下,執(zhí)行如下命令加載SDK環(huán)境變量,并運行GDB調(diào)試程序。

Host# source /home/tronlong/SDK/environment-setup-aarch64-poky-linux

Host# aarch64-poky-linux-gdb test //aarch64-poky-linux-gdb為SDK交叉編譯環(huán)境下的GDB交叉編譯工具鏈,test為將要進行調(diào)試的程序

圖 12

執(zhí)行如下命令,連接評估板。192.168.0.17為評估板的IP地址,請以實際情況為準。

(gdb) target remote 192.168.0.17:1234

圖 13

同時,串口調(diào)試終端顯示連接成功的相關(guān)信息。

圖 14

4程序調(diào)試

本章節(jié)主要演示GDB調(diào)試的幾個常用命令的使用方法。

4.1list命令

用于列出源碼,簡寫:l。

圖 15

4.2break命令

用于設(shè)置斷點,簡寫:b。

圖 16

4.3info breakpoints命令

用于顯示斷點的狀態(tài),簡寫:infob。

圖 17

4.4continue命令

用于恢復(fù)程序執(zhí)行,簡寫:c。此命令使GDB恢復(fù)程序的執(zhí)行,直至斷點觸發(fā)或程序結(jié)束。

圖 18

以上調(diào)試過程在第二個斷點中,每輸入一次c命令,將會依次打印arr數(shù)組的元素值,然后程序執(zhí)行結(jié)束。同時,串口調(diào)試終端打印相關(guān)信息。

圖 19

4.5print命令

用于打印變量或者變量地址,簡寫:p。

圖 20

以上調(diào)試過程在每處斷點中,使用print命令打印變量i的值。同時,串口調(diào)試終端打印相關(guān)信息。

圖 21

4.6quit命令

退出GDB模式,簡寫:q。當(dāng)程序調(diào)試完成后,使用quit命令退出GDB調(diào)試。

圖 22

同時,串口調(diào)試終端打印相關(guān)信息。

圖 23

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARM處理器
    +關(guān)注

    關(guān)注

    6

    文章

    361

    瀏覽量

    42520
  • 嵌入式開發(fā)
    +關(guān)注

    關(guān)注

    18

    文章

    1075

    瀏覽量

    48706
  • gdb
    gdb
    +關(guān)注

    關(guān)注

    0

    文章

    60

    瀏覽量

    13567
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    設(shè)備遠程調(diào)試新利器:御控網(wǎng)關(guān)開啟PLC高效運維新時代

    御控網(wǎng)關(guān),專為設(shè)備遠程調(diào)試,尤其是PLC(可編程邏輯控制器)的遠程調(diào)試服務(wù),憑借其卓越性能與廣泛兼容性,支持絕大部分PLC遠程
    的頭像 發(fā)表于 06-24 17:22 ?96次閱讀

    通過御控APP實現(xiàn)PLC遠程調(diào)試遠程監(jiān)控

    御控APP,通過移動化、智能化的手段,實現(xiàn)了PLC遠程調(diào)試與監(jiān)控,為工業(yè)生產(chǎn)帶來了便捷與高效。
    的頭像 發(fā)表于 06-04 09:49 ?164次閱讀

    PLC遠程調(diào)試指南:如何實現(xiàn)PLC遠程上下載、控制與跨國運維

    在工業(yè)4.0時代,御控網(wǎng)關(guān)已為30000+企業(yè)提供遠程調(diào)試服務(wù)。搜索訪問【御控工業(yè)云平臺】官網(wǎng),獲取《試用樣機》及跨國設(shè)備調(diào)試方案,讓您的設(shè)備運維效率猛增!
    的頭像 發(fā)表于 05-21 09:12 ?232次閱讀

    Arm助力開發(fā)者加速遷移至Arm架構(gòu)云平臺 Arm云遷移資源分享

    隨著基于 Arm 架構(gòu)的云實例日益擴展,越來越多的用戶正從傳統(tǒng)平臺遷移至 Arm 平臺上。
    的頭像 發(fā)表于 04-09 18:23 ?604次閱讀

    STM32CubeIDE無法啟動正常調(diào)試是哪里出了問題?

    ,采用讀取 Show Command Line 后,在terminal窗口中執(zhí)行,并選擇連接到遠程GDB服務(wù)器后,能夠執(zhí)行數(shù)據(jù)下載,但勾選自動啟動本地GDB服務(wù)器仍然出錯。
    發(fā)表于 03-14 16:30

    為什么會報錯Could not determine GDB version using command: arm-none-eabi-gdb --version?

    我已經(jīng)重啟電腦了,沒用; 重裝軟件沒有,沒有; 將ST_link_server卸載重裝也沒有; 將arm-none-eabi-gdb加入windows 11系統(tǒng)環(huán)境變量,也沒用; 將軟件的GDB
    發(fā)表于 03-12 08:08

    設(shè)備遠程維護如何實現(xiàn)?遠程維護平臺的功能特點

    隨著工業(yè)智能化和數(shù)字化轉(zhuǎn)型的快速推進,設(shè)備遠程維護已成為企業(yè)提升運營效率、降低維護成本的重要手段。通過遠程維護平臺,企業(yè)能夠?qū)崟r監(jiān)控設(shè)備狀態(tài),快速響應(yīng)故障,實現(xiàn)設(shè)備的高效管理和維護。本文將詳細探討
    的頭像 發(fā)表于 02-21 15:50 ?380次閱讀
    設(shè)備<b class='flag-5'>遠程</b>維護如何實現(xiàn)?<b class='flag-5'>遠程</b>維護<b class='flag-5'>平臺</b>的功能特點

    [迅為RK3568開發(fā)板]非科班也能玩轉(zhuǎn)Android應(yīng)用,體驗QT跨平臺能力

    [迅為RK3568開發(fā)板]非科班也能玩轉(zhuǎn)Android應(yīng)用,體驗QT跨平臺能力
    的頭像 發(fā)表于 12-18 16:41 ?882次閱讀
    [迅為RK3568開發(fā)板]非科班也能<b class='flag-5'>玩轉(zhuǎn)</b>Android應(yīng)用,體驗QT跨<b class='flag-5'>平臺</b>能力

    PLC遠程維護IoT平臺是什么

    PLC遠程維護IoT平臺是物聯(lián)網(wǎng)(IoT)技術(shù)在工業(yè)自動化領(lǐng)域的一種重要應(yīng)用。它是指通過物聯(lián)網(wǎng)技術(shù),將分布在不同地點的可編程邏輯控制器(PLC)設(shè)備連接在一起,實現(xiàn)遠程監(jiān)控、遠程編程
    的頭像 發(fā)表于 11-29 16:41 ?474次閱讀

    PLC遠程下載網(wǎng)關(guān) SSF-BOX-100 :輕松應(yīng)對PLC 遠程調(diào)試\程序下載

    PLC遠程下載網(wǎng)關(guān) SSF-BOX-100 SSF-BOX-100 是三石峰科技有限公司推出的工業(yè)級PLC 遠程下載網(wǎng)關(guān),主要用于 PLC 遠程調(diào)試、程序上下載,為用戶提供一種簡單可靠
    的頭像 發(fā)表于 11-05 09:19 ?470次閱讀
    PLC<b class='flag-5'>遠程</b>下載網(wǎng)關(guān) SSF-BOX-100 :輕松應(yīng)對PLC <b class='flag-5'>遠程</b><b class='flag-5'>調(diào)試</b>\程序下載

    Arm推出GitHub平臺AI工具

    專為 GitHub Copilot 設(shè)計的 Arm 擴展程序,可加速從云到邊緣側(cè)基于 Arm 平臺的開發(fā)。
    的頭像 發(fā)表于 11-01 13:50 ?664次閱讀

    天拓四方:PLC遠程調(diào)試網(wǎng)關(guān)簡介

    。隨著技術(shù)的發(fā)展,PLC遠程調(diào)試網(wǎng)關(guān)應(yīng)運而生,成為解決這一問題的關(guān)鍵工具。 一、PLC遠程調(diào)試網(wǎng)關(guān)的工作原理 PLC遠程
    的頭像 發(fā)表于 10-09 14:26 ?547次閱讀

    PLC遠程編程調(diào)試平臺是什么

    、靈活的管理需求。為此,PLC遠程編程調(diào)試平臺應(yīng)運而生,為工業(yè)自動化帶來了革命性的變革。 PLC遠程編程調(diào)試
    的頭像 發(fā)表于 10-08 14:26 ?531次閱讀
    PLC<b class='flag-5'>遠程</b>編程<b class='flag-5'>調(diào)試</b><b class='flag-5'>平臺</b>是什么

    為什么無法使用esp-gdbstub調(diào)試esp8266?

    /應(yīng)用.輸出 (gdb) 設(shè)置遠程硬件斷點限制 1 (gdb) 設(shè)置遠程硬件觀察點限制 1 (gdb) 設(shè)置
    發(fā)表于 07-11 08:24

    是否有可能在支持gdb的第三方集成開發(fā)環(huán)境中使用DAS配置調(diào)試

    是否有可能在支持 gdb 的第三方集成開發(fā)環(huán)境中使用 DAS 配置調(diào)試
    發(fā)表于 07-02 07:29
    主站蜘蛛池模板: 欧美性黑人极品hd网站 | 久草热线视频 | 黄色一级片视频 | 夜夜夜久久久 | 亚洲88av| 97久久天天综合色天天综合色hd | 国产你懂的在线 | 日本乱理论片免费看 | 色婷婷国产 | 免费视频淫片aa毛片 | 男女交性视频免费 | 亚洲精品久久久久午夜福 | 四虎影视网址 | 日韩免费观看视频 | 色婷婷色| 欧美日韩一级视频 | 亚洲国产人成在线观看 | 免费a大片 | 午夜日韩视频 | 国产真实乱偷人视频 | 欧美69xx| 日韩精品一卡二卡三卡四卡2021 | 四虎影视在线影院在线观看 | 国产1卡2卡三卡四卡网站 | 欧美黄色三级视频 | 天天射天天草 | 欧美一级欧美三级 | 日本高清午夜色wwwσ | 又粗又长又大真舒服好爽漫画 | 国产综合色在线视频区色吧图片 | 欧美一欧美一区二三区性 | 日本综合视频 | 午夜久久久| 美女黄18以下禁止观看的网站 | 久久久久国产一级毛片高清片 | 2o18国产大陆天天弄 | 欧美精品黑人性xxxx | 亚洲国产精品va在线观看麻豆 | 黄a级免费| 成人在线观看网站 | 精品久久久久国产免费 |