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

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

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

3天內不再提示

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

ElfBoard ? 2025-11-11 13:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

GDB(GNU Project Debugger)是在Linux環境下功能全面的調試工具。它提供了一系列強大的調試功能,包括設置斷點、單步執行、打印與觀察變量、查看寄存器及堆棧信息等。在Linux軟件開發的實踐中,GDB被視為調試C及C++程序的核心工具,廣泛用于幫助開發者定位和解決程序中的問題。

1. 虛擬機中安裝GDB工具

為避免符號解析錯誤或架構不兼容問題,用于遠程調試的GDB應在版本上與開發板的工具鏈對齊。

elf@ubuntu:~/work/EDU/sdk/ELF2-linux-source$ ./build.sh bconfig

路徑:

->Toolchain

wKgZPGkSzXKAekthAAGNEZO2Ge8544.png

選擇GDB版本,這里選擇gdb12.x

wKgZPGkSzWSAPRSCAAGMcQH0Duk276.png

2. 文件系統添加gdbserver功能

elf@ubuntu:~/work/EDU/sdk/ELF2-linux-source$./build.sh bconfig

路徑:

-> Target packages -> Debugging, profiling and benchmark

wKgZO2kSzTeAXTZWAAFpV_xjotM823.png

3. 重新編譯

elf@ubuntu:~/work/EDU/sdk/ELF2-linux-source$./build.sh buildroot

這樣就可以將軟件包直接編譯到文件系統的鏡像中了。

4. 燒寫文件系統

5. 應用編譯及拷貝

elf@ubuntu:~/work$vi gdbdemo.c

例程代碼如下:

#include int main() { int a = 10; int b = 20; int sum = a + b; printf("a = %d, b = %d\n", a, b); printf("sum = %d\n", sum); for (int i = 0; i < 5; i++) { printf("Loop i = %d\n", i); } return 0; }

添加交叉編譯器路徑,進行交叉編譯,編譯要調試的應用程序:必須要加-g選項

elf@ubuntu:~/work$ export PATH=/home/elf/aarch64-buildroot-linux-gnu_sdk-buildroot/bin/:$PATH elf@ubuntu:~/work$ aarch64-linux-gcc -g gdbdemo.c -o gdbdemo

將編譯生成的gdbdemo通過U盤拷貝到開發板上,比如/home/elf路徑下,下述以U盤為例,拷貝到開發板。

root@elf2-buildroot:~#cp/mnt/udisk/gdbdemo /home/elf

6. 設置開發板IP和端口

root@elf2-buildroot:~# gdbserver 172.20.8.7:2345 /home/elf/gdbdemo Process /home/elf/gdbdemo created; pid = 1314 Listening on port 2345

7. 給虛擬機設置同網段的IP并保證可以ping通開發板IP

8. 調試

GDB工具所在路徑:

ELF2-linux-source/buildroot/output/elf2_fs/host/bin/aarch64-linux-gdb

elf@ubuntu:~/work$ ./EDU/sdk/ELF2-linux-source/buildroot/output/elf2_fs/host/bin/aarch64-linux-gdb gdbdemo GNU gdb (GDB) 12.1 Copyright (C) 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "--host=x86_64-pc-linux-gnu --target=aarch64-buildroot-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from gdbdemo... (gdb) target remote 172.20.8.7:2345 //連接開發板 Remote debugging using 172.20.8.7:2345 Reading /lib/ld-linux-aarch64.so.1 from remote target... warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead. Reading /lib/ld-linux-aarch64.so.1 from remote target... Reading symbols from target:/lib/ld-linux-aarch64.so.1... (No debugging symbols found in target:/lib/ld-linux-aarch64.so.1) Reading /home/elf/work/EDU/sdk/ELF2-linux-source/buildroot/output/elf2_fs/host/lib/debug/.build-id/01/bd8db25550e790a84285a6377baa031748d93c.debug from remote target... 0x0000007ff7ff1900 in _start () from target:/lib/ld-linux-aarch64.so.1 (gdb)

此時就可以根據需求進行調試了,下面是幾個常用的命令

(1)l:列出所有源代碼

(2)b:設置斷點

(3)c:運行到斷點處

(4)s:單步運行執行

(5)n:單步執行,但是step會進入函數里面,但是next不會

(6)p a:打印a這個變量的值

(7)q:退出,輸入此命令則開發板上的gdbserver也退出

下面以具體示例介紹參數的使用方法。

(gdb) l //列出源代碼 1 #include 2 3int main() { 4 int a = 10; 5 int b = 20; 6 int sum = a + b; 7 8 printf("a = %d, b = %d\n", a, b); 9 printf("sum = %d\n", sum); 10 (gdb) b 9 //在第9行設置斷點 Breakpoint 1 at 0x55555557d0: file gdbdemo.c, line 9. (gdb) c // 繼續執行程序,直到遇到斷點,此時終端打印a = 10, b = 20 Continuing. Reading /lib/libc.so.6 from remote target... Breakpoint 1, main () at gdbdemo.c:9 9 printf("sum = %d\n", sum); (gdb) c //從當前斷點繼續執行到程序結束。 Continuing. [Inferior 1 (process 1367) exited normally] (gdb)

wKgZPGkSzKeAKPbuAAGzSeqwMNI945.png

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

    關注

    5184

    文章

    20116

    瀏覽量

    327891
  • 嵌入式開發板

    關注

    5

    文章

    103

    瀏覽量

    19645
  • Linux開發
    +關注

    關注

    0

    文章

    44

    瀏覽量

    7596
  • RK3588
    +關注

    關注

    8

    文章

    480

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    瑞芯微RK3588開發板RK3588 EVB和RK3588S EVB解讀

    瑞芯微RK3588開發板RK3588 EVB和RK3588S EVB解讀 瑞芯微旗艦芯RK3588系列
    的頭像 發表于 09-22 15:54 ?2.2w次閱讀
    瑞芯微<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b><b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解讀

    Banana Pi開源社區基于瑞芯微RK3588開發板,DeepSeek開發利器

    Banana Pi開源社區基于瑞芯微RK3588開發板,DeepSeek開發利器
    的頭像 發表于 02-19 18:25 ?3011次閱讀
    Banana Pi開源社區基于瑞芯微<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>,DeepSeek<b class='flag-5'>開發</b>利器

    ElfBoard技術|如何在RK3588ELF 2開發板進行根系統的定制

    ELF 2開發板已經適配了Linux 5.10及Elf2 Desktop 22.04操作系統,其中Elf2 Desktop 22.04系統是
    的頭像 發表于 07-02 16:33 ?2716次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>上<b class='flag-5'>進行</b>根系統的定制

    ElfBoard技術|如何在RK3588ELF 2開發板進行UART引腳復用配置

    IOMUX(引腳功能復用)是芯片廠商為高效利用有限硬件引腳資源而設計的關鍵技術,它允許單個物理引腳通過軟件配置為多種不同的功能(如GPIO、UART、I2C等)。不同SoC芯片的配置方式各異,本文將以【RK3588
    的頭像 發表于 11-18 16:54 ?3515次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>上<b class='flag-5'>進行</b>UART引腳復用配置

    RK3588 EVB開發板原理圖講解【八】 RK3588 power Tree

    GPU負載高時自動通知RK860-2調高CPU電壓 RK3588 Power Tree完整版圖太大,截圖看不完,需要的可以下載附件完成版。 RK3588 EVB開發板原理圖 往
    發表于 03-01 11:38

    TB-RK3588開發板Windows上串口調試與Linux主機調試說明

    1、TB-RK3588串口調試說明串口連接使用MicroUSB數據線(需自備)連接TB-RK3588X如下圖位置,線纜另一端接至電腦端。說明:開發板
    發表于 05-31 18:04

    瑞芯微旗艦芯RK3588開發板開售 比亞迪為應達利頒獎

    瑞芯微旗艦芯RK3588開發板發售 比亞迪為應達利頒獎 瑞芯微旗艦芯RK3588開發板發售 近日,瑞芯微旗艦芯RK3588系列
    的頭像 發表于 03-25 19:23 ?5430次閱讀

    【首發開箱】揭開RK3588開發板的神秘面紗!

    教你玩轉RK3588開發板硬聲入駐企業:瑞芯微教程包含以下內容:1、開箱:EVB開箱接線2、外部接口:EVB硬件接口介紹。3、環境搭建:EVB使用及調試方法。4、系統升級:
    的頭像 發表于 03-14 11:24 ?4481次閱讀
    【首發開箱】揭開<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>的神秘面紗!

    瑞芯微RK3588開發板評測Ⅱ——DEBUG&amp;amp;接口調試方法

    上期分享了RK3588開發板的固件燒錄教程,引起了廣大發燒友的關注,本期技術干貨內容分享開發板的DEBUG和接口功能調試方法,繼續以英碼嵌入
    的頭像 發表于 11-02 15:46 ?9235次閱讀
    瑞芯微<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>評測Ⅱ——DEBUG&amp;amp;接口<b class='flag-5'>調試</b>方法

    迅為RK3588開發板-基于瑞芯微RK3588攝像頭方案

    RK3588開發板
    的頭像 發表于 06-09 11:09 ?6942次閱讀
    迅為<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>-基于瑞芯微<b class='flag-5'>RK3588</b>攝像頭方案

    rk3588有哪些開發板?

    rk3588有哪些開發板 當前,rk3588開發板有RockPro64、Rock960 Plus、Rockchip Sapphire、Khadas VIM3 Pro和Firefly
    的頭像 發表于 08-15 17:04 ?3530次閱讀

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發板

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發板
    的頭像 發表于 08-30 14:13 ?1912次閱讀
    <b class='flag-5'>RK3588</b>!黑神話悟空,啟動?-迅為電子<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>

    技術分享|iTOP-RK3588開發板Ubuntu20系統旋轉屏幕方案

    技術分享|iTOP-RK3588開發板Ubuntu20系統旋轉屏幕方案
    的頭像 發表于 04-18 15:19 ?1009次閱讀
    <b class='flag-5'>技術</b>分享|iTOP-<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>Ubuntu20系統旋轉屏幕方案

    ElfBoard技術|【RK3588ELF 2開發板開機自啟動詳解

    在嵌入式系統開發中,合理管理開機自啟動項目能夠優化系統啟動流程,確保關鍵服務和應用按時加載運行。本文將詳細介紹在ELF2開發板Linux5.10.209系統下基于SystemVinit服務管理機制
    的頭像 發表于 06-27 16:20 ?1738次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>開機自啟動詳解

    ElfBoard技術|如何在RK3588ELF 2開發板用戶空間更換開機Logo

    ,提升了開發調試效率。一、添加Logo分區elf@ubuntu:~/work/ELF2-linux-source$videvice/rockchip/.chip
    的頭像 發表于 10-29 11:12 ?941次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>用戶空間更換開機Logo