国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

    瀏覽量

    43285
  • 嵌入式開發
    +關注

    關注

    18

    文章

    1146

    瀏覽量

    50123
  • gdb
    gdb
    +關注

    關注

    0

    文章

    61

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    DR1平臺Linux應用開發指南:含GDB調試、Python及MQTT實戰

    本文為創龍科技DR1 系列評估板 Linux 應用開發手冊,系統講解開發環境搭建、GDB 調試、多類型應用案例及 MQTT 通信實現。核心內容包括 LinuxSDK 與工具鏈配置、GDB 遠程
    的頭像 發表于 01-05 16:48 ?4552次閱讀
    DR1<b class='flag-5'>平臺</b>Linux應用開發指南:含<b class='flag-5'>GDB</b><b class='flag-5'>調試</b>、Python及MQTT實戰

    ElfBoard技術貼|如何在【RK3588】ELF 2開發板進行GDB調試

    GDB(GNU Project Debugger)是在Linux環境下功能全面的調試工具。它提供了一系列強大的調試功能,包括設置斷點、單步執行、打印與觀察變量、查看寄存器及堆棧信息等。在Linux軟件開發的實踐中,
    的頭像 發表于 11-11 13:47 ?5226次閱讀
    ElfBoard技術貼|如何在【RK3588】ELF 2開發板進行<b class='flag-5'>GDB</b><b class='flag-5'>調試</b>

    蜂鳥的GDB調試時無法在斷點處停止是什么原因?

    各位大佬們,我們使用GDB調試程序的時候,在main函數打上斷點,然后在gdb中continue,程序并沒有在main函數入口處停下?請問大佬知道原因嗎?謝謝~
    發表于 11-07 06:15

    CAN總線遠程調試工具介紹

    一種工程機械領域調試上的創新產品,可用于Codesys 源程序的無線下載聯機、遠程調試、故障診斷、CAN 總線數據在線監控、透傳收發、數據采集、數據分析、遠程控制等各種 CAN 總線通
    發表于 10-17 16:14 ?0次下載

    【干貨分享】RT-Trace國產調試工具 | 技術集結

    專為嵌入式開發者打造的一款高性能、多功能的調試工具。它集成了實時系統跟蹤、數據監控、GDB遠程調試、Flash程序燒錄、虛擬終端等多種功能于一體,支持通過WebU
    的頭像 發表于 09-16 08:07 ?864次閱讀
    【干貨分享】RT-Trace國產<b class='flag-5'>調試</b>工具 | 技術集結

    國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—GDB程序調試方法說明

    (Linux) GDB工具是GNU項目調試器,基于命令行使用。和其他的調試器一樣,可使用GDB工具單步運行程序、單步執行、跳入/跳出函數、設置斷點、查看變量等等,它是UNIX/LINU
    的頭像 發表于 08-05 15:33 ?554次閱讀
    國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—<b class='flag-5'>GDB</b>程序<b class='flag-5'>調試</b>方法說明

    設備遠程調試新利器:御控網關開啟PLC高效運維新時代

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

    PLC遠程維護平臺有什么優點

    PLC遠程維護平臺是工業自動化領域中用于對PLC設備進行遠程監控、診斷、維護和管理的系統,具有諸多顯著優點,以下從不同維度展開介紹: 提升運維效率 快速響應故障 :傳統運維方式下,當PLC設備出現
    的頭像 發表于 06-11 16:04 ?610次閱讀
    PLC<b class='flag-5'>遠程</b>維護<b class='flag-5'>平臺</b>有什么優點

    遠程日志errDump調試功能實戰教程:案例驅動的故障排查!

    通過真實案例場景,本教程將展示如何利用遠程日志errDump調試功能定位系統崩潰、性能瓶頸等問題,從日志捕獲到原因分析,手把手帶您體驗實戰中的調試流程。 本文特別分享errDump功能
    的頭像 發表于 06-09 16:51 ?739次閱讀
    <b class='flag-5'>遠程</b>日志errDump<b class='flag-5'>調試</b>功能實戰教程:案例驅動的故障排查!

    通過御控APP實現PLC遠程調試遠程監控

    御控APP,通過移動化、智能化的手段,實現了PLC遠程調試與監控,為工業生產帶來了便捷與高效。
    的頭像 發表于 06-04 09:49 ?627次閱讀

    PLC遠程調試指南:如何實現PLC遠程上下載、控制與跨國運維

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

    基于RK3576開發板的遠程桌面調試方法

    EASY EAI Orin-Nano可以基于MobaXterm的ssh遠程桌面登錄調試
    的頭像 發表于 05-06 09:58 ?764次閱讀
    基于RK3576開發板的<b class='flag-5'>遠程</b>桌面<b class='flag-5'>調試</b>方法

    Arm助力開發者加速遷移至Arm架構云平臺 Arm云遷移資源分享

    隨著基于 Arm 架構的云實例日益擴展,越來越多的用戶正從傳統平臺遷移至 Arm 平臺上。
    的頭像 發表于 04-09 18:23 ?1229次閱讀

    STM32CubeIDE無法啟動正常調試是哪里出了問題?

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

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

    我已經重啟電腦了,沒用; 重裝軟件沒有,沒有; 將ST_link_server卸載重裝也沒有; 將arm-none-eabi-gdb加入windows 11系統環境變量,也沒用; 將軟件的GDB
    發表于 03-12 08:08