色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

ARM平臺如何玩轉GDB遠程調試?

Tronlong創龍科技 ? 2021-09-28 18:17 ? 次閱讀

前 言

關于GDB工具

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

GDB具有一種“遠程”模式,此種模式多半是在為嵌入式系統進行調試時使用,遠程操作指的是:GDB在一部機器內運行,而要進行調試的程序是在另一部機器上運行,支持TCP/IP協議傳輸的各種網絡,在TCP/IP網絡及協議上再加搭傳輸GDB專有的調試操作通信協議,如此便能進行遠程調試。

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

開發環境

Windows開發環境:Windows 7 64bit、Windows 10 64bit

虛擬機:VMware15.1.0

Linux開發環境: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調試環境搭建

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

然后進入SDK安裝目錄,并執行如下命令加載SDK環境變量。

Host# cd /home/tronlong/SDK/

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

圖 1

如環境搭建正常,執行如下命令可查看交叉編譯工具版本。

Host# aarch64-poky-linux-gcc -v

圖 2

2演示程序創建與編譯

執行如下命令,新建一個GDB調試演示程序。

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

執行如下命令,修改test文件夾的權限。

Host# cd ..

Host# sudo chmod -R 777 test/


圖 5

執行如下命令加載SDK環境變量,并進行程序編譯。

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

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

Host# cd test/

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

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

圖 6

評估板與PC機連接至同一個路由器后進行上電,執行如下命令通過網絡傳輸的形式,將編譯后的可執行文件test拷貝至評估板。

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

圖 7

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

圖 8

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

圖 9

3調試程序運行

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

Host# ifconfig

圖 10

在評估板文件系統test文件所在路徑下,執行如下命令運行gdbserver程序,開啟監聽。

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

Target# gdbserver 192.168.0.83:1234 test

圖 11

在PC機test文件所在路徑下,執行如下命令加載SDK環境變量,并運行GDB調試程序。

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

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

圖 12

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

(gdb) target remote 192.168.0.17:1234

圖 13

同時,串口調試終端顯示連接成功的相關信息

圖 14

4程序調試

本章節主要演示GDB調試的幾個常用命令的使用方法。

4.1list命令

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

圖 15

4.2break命令

用于設置斷點,簡寫:b。

圖 16

4.3info breakpoints命令

用于顯示斷點的狀態,簡寫:infob。

圖 17

4.4continue命令

用于恢復程序執行,簡寫:c。此命令使GDB恢復程序的執行,直至斷點觸發或程序結束。

圖 18

以上調試過程在第二個斷點中,每輸入一次c命令,將會依次打印arr數組的元素值,然后程序執行結束。同時,串口調試終端打印相關信息。

圖 19

4.5print命令

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

圖 20

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

圖 21

4.6quit命令

退出GDB模式,簡寫:q。當程序調試完成后,使用quit命令退出GDB調試。

圖 22

同時,串口調試終端打印相關信息。

圖 23

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ARM處理器
    +關注

    關注

    6

    文章

    361

    瀏覽量

    42072
  • 嵌入式開發
    +關注

    關注

    18

    文章

    1046

    瀏覽量

    47903
  • gdb
    gdb
    +關注

    關注

    0

    文章

    60

    瀏覽量

    13403
收藏 人收藏

    評論

    相關推薦

    解鎖工業新效能:網關助力 PLC 遠程調試

    設置,不僅耗費大量時間和人力成本,而且在緊急故障處理時,因地域限制可能導致生產長時間停滯,給企業帶來巨大損失。然而,隨著科技的不斷進步,一種高效便捷的遠程調試解決方案應運而生 —— 網關實現遠程
    的頭像 發表于 03-05 10:34 ?83次閱讀
    解鎖工業新效能:網關助力 PLC <b class='flag-5'>遠程</b><b class='flag-5'>調試</b>

    設備遠程維護如何實現?遠程維護平臺的功能特點

    隨著工業智能化和數字化轉型的快速推進,設備遠程維護已成為企業提升運營效率、降低維護成本的重要手段。通過遠程維護平臺,企業能夠實時監控設備狀態,快速響應故障,實現設備的高效管理和維護。本文將詳細探討
    的頭像 發表于 02-21 15:50 ?130次閱讀
    設備<b class='flag-5'>遠程</b>維護如何實現?<b class='flag-5'>遠程</b>維護<b class='flag-5'>平臺</b>的功能特點

    [迅為RK3568開發板]非科班也能玩轉Android應用,體驗QT跨平臺能力

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

    PLC遠程維護IoT平臺是什么

    PLC遠程維護IoT平臺是物聯網(IoT)技術在工業自動化領域的一種重要應用。它是指通過物聯網技術,將分布在不同地點的可編程邏輯控制器(PLC)設備連接在一起,實現遠程監控、遠程編程
    的頭像 發表于 11-29 16:41 ?285次閱讀

    PLC遠程下載網關 SSF-BOX-100 :輕松應對PLC 遠程調試\程序下載

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

    Arm推出GitHub平臺AI工具

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

    天拓四方:PLC遠程調試網關簡介

    。隨著技術的發展,PLC遠程調試網關應運而生,成為解決這一問題的關鍵工具。 一、PLC遠程調試網關的工作原理 PLC遠程
    的頭像 發表于 10-09 14:26 ?387次閱讀

    PLC遠程編程調試平臺是什么

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

    為什么無法使用esp-gdbstub調試esp8266?

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

    是否有可能在支持gdb的第三方集成開發環境中使用DAS配置調試

    是否有可能在支持 gdb 的第三方集成開發環境中使用 DAS 配置調試
    發表于 07-02 07:29

    設備遠程維護平臺是什么

    設備遠程維護平臺是一種允許用戶遠程監控、診斷和維護設備的軟件系統。這種平臺通常用于工業自動化、物聯網(IoT)和智能設備管理領域,它們可以幫助企業更有效地管理和維護其設備資產。 設備
    的頭像 發表于 06-03 16:04 ?581次閱讀

    PLC遠程維護(遠程編程調試遠程上下載程序)平臺的功能

    。 數之能推出的PLC遠程維護平臺將分布在全球各地的PLC設備連接在一起,打破了地理空間的限制。通過這個平臺,工程師們可以隨時隨地監控系統狀態,進行故障診斷,并實施必要的程序更新或修復,如遠程
    的頭像 發表于 05-24 16:07 ?521次閱讀
    PLC<b class='flag-5'>遠程</b>維護(<b class='flag-5'>遠程</b>編程<b class='flag-5'>調試</b>和<b class='flag-5'>遠程</b>上下載程序)<b class='flag-5'>平臺</b>的功能

    PLC遠程調試模塊是什么?PLC遠程調試模塊的功能

    PLC(可編程邏輯控制器)遠程調試模塊是一種設備或軟件功能,它允許工程師或技術人員在遠離實際現場的情況下,通過網絡對PLC進行編程、監控、故障診斷和參數調整。這對于分布廣泛或難以直接接觸的工業
    的頭像 發表于 05-22 14:53 ?924次閱讀
    PLC<b class='flag-5'>遠程</b><b class='flag-5'>調試</b>模塊是什么?PLC<b class='flag-5'>遠程</b><b class='flag-5'>調試</b>模塊的功能

    使用VSCode調試嵌入式程序:如何切換gdb server

    上文小編給大家介紹了一下如何使用VSCode結合cortex-debug插件進行調試的方法。本篇就趁熱打鐵,進一步深入了解一下如何切換gdb server。讓我們可以不僅僅使用JLinkGDBServer進行調試
    的頭像 發表于 05-09 11:02 ?2679次閱讀
    使用VSCode<b class='flag-5'>調試</b>嵌入式程序:如何切換<b class='flag-5'>gdb</b> server

    在ELF 1開發環境中使用Qt Creator進行遠程調試

    QtCreator是一款跨平臺集成開發環境(IDE),主要適用于支持Qt框架的各類應用程序開發。其內置的遠程調試機制使得開發者能夠在本地開發環境中對部署在遠程設備上的代碼進行
    的頭像 發表于 04-20 11:03 ?1055次閱讀
    在ELF 1開發環境中使用Qt Creator進行<b class='flag-5'>遠程</b><b class='flag-5'>調試</b>
    主站蜘蛛池模板: 国产精品亚洲专一区二区三区 | 暖暖视频免费观看视频 | 亚洲国产精品免费线观看视频 | 午夜福利院电影 | 久久伊人青青 | free18sex性自拍裸舞 | 欧美一区二区在线观看 | 鸡鸡插屁股| 乳色吐息未增删樱花ED在线观看 | 免费视频久久只有精品 | 2017必看无码作品 | 天堂岛www天堂资源在线 | 被免费网站在线视频 | 黑人特黄AA完整性大片 | 久久视热频国产这里只有精品23 | 成人18视频在线观看 | 中文字幕乱码亚洲无线三区 | 啊…嗯啊好深男男高h文总受 | 天天爽夜夜爽 | 国产成人免费片在线观看 | 92电影网午夜福利 | 中文字幕在线观看亚洲日韩 | 色姊姊真舒服 | 34g污奶绵uk甩奶 | 2021国产精品视频一区 | 午夜免费福利片 | 天天狠狠弄夜夜狠狠躁·太爽了 | 色欲久久99精品久久久久久AV | 野花韩国免费高清电影 | 国产亚洲精品黑人粗大精选 | WWW久久只有这里有精品 | 黑人 尺寸 强行害怕 痛哭 | 亚洲中文无码AV在线观看 | 色综合精品无码一区二区三区 | 玩高中女同桌肉色短丝袜脚文 | 妹妹我要操 | BL全肉多攻NP高H | 青娱乐在线一区 | 最近2019中文字幕免费版视频 | 啊灬啊别停灬用力啊在线观看视频 | 澳大利亚剧满足在线观看 |