chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開發(fā)板進行GDB調(diào)試

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

掃碼添加小助手

加入工程師交流群

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

1. 虛擬機中安裝GDB工具

為避免符號解析錯誤或架構(gòu)不兼容問題,用于遠(yuǎn)程調(diào)試的GDB應(yīng)在版本上與開發(fā)板的工具鏈對齊。

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

路徑:

->Toolchain

wKgZPGkSzXKAekthAAGNEZO2Ge8544.png

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

wKgZPGkSzWSAPRSCAAGMcQH0Duk276.png

2. 文件系統(tǒng)添加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

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

4. 燒寫文件系統(tǒng)

5. 應(yīng)用編譯及拷貝

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; }

添加交叉編譯器路徑,進行交叉編譯,編譯要調(diào)試的應(yīng)用程序:必須要加-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盤拷貝到開發(fā)板上,比如/home/elf路徑下,下述以U盤為例,拷貝到開發(fā)板。

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

6. 設(shè)置開發(fā)板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. 給虛擬機設(shè)置同網(wǎng)段的IP并保證可以ping通開發(fā)板IP

8. 調(diào)試

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 //連接開發(fā)板 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)

此時就可以根據(jù)需求進行調(diào)試了,下面是幾個常用的命令

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

(2)b:設(shè)置斷點

(3)c:運行到斷點處

(4)s:單步運行執(zhí)行

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

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

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

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

(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行設(shè)置斷點 Breakpoint 1 at 0x55555557d0: file gdbdemo.c, line 9. (gdb) c // 繼續(xù)執(zhí)行程序,直到遇到斷點,此時終端打印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 //從當(dāng)前斷點繼續(xù)執(zhí)行到程序結(jié)束。 Continuing. [Inferior 1 (process 1367) exited normally] (gdb)

wKgZPGkSzKeAKPbuAAGzSeqwMNI945.png

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

    關(guān)注

    5179

    文章

    20077

    瀏覽量

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

    關(guān)注

    5

    文章

    101

    瀏覽量

    19606
  • Linux開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    43

    瀏覽量

    7585
  • RK3588
    +關(guān)注

    關(guān)注

    8

    文章

    472

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    瑞芯微RK3588開發(fā)板RK3588 EVB和RK3588S EVB解讀

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

    搭載RK3588的迅為iTOP-3588開發(fā)板解讀

    搭載RK3588的迅為iTOP-3588開發(fā)板解讀 迅為RK3588開發(fā)板是基于瑞芯微RK3588
    的頭像 發(fā)表于 09-28 18:19 ?6977次閱讀
    搭載<b class='flag-5'>RK3588</b>的迅為iTOP-<b class='flag-5'>3588</b><b class='flag-5'>開發(fā)板</b>解讀

    Banana Pi開源社區(qū)基于瑞芯微RK3588開發(fā)板,DeepSeek開發(fā)利器

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

    ElfBoard技術(shù)|如何在RK3588ELF 2開發(fā)板進行根系統(tǒng)的定制

    ELF 2開發(fā)板已經(jīng)適配了Linux 5.10及Elf2 Desktop 22.04操作系統(tǒng),其中Elf2 Desktop 22.04系統(tǒng)是
    的頭像 發(fā)表于 07-02 16:33 ?2674次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術(shù)</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'>開發(fā)板</b>上<b class='flag-5'>進行</b>根系統(tǒng)的定制

    RK3588 EVB開發(fā)板原理圖講解【八】 RK3588 power Tree

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

    TB-RK3588開發(fā)板Windows上串口調(diào)試與Linux主機調(diào)試說明

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

    瑞芯微旗艦芯RK3588開發(fā)板開售 比亞迪為應(yīng)達(dá)利頒獎

    瑞芯微旗艦芯RK3588開發(fā)板發(fā)售 比亞迪為應(yīng)達(dá)利頒獎 瑞芯微旗艦芯RK3588開發(fā)板發(fā)售 近日,瑞芯微旗艦芯RK3588系列
    的頭像 發(fā)表于 03-25 19:23 ?5390次閱讀

    【首發(fā)開箱】揭開RK3588開發(fā)板的神秘面紗!

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

    瑞芯微RK3588開發(fā)板評測Ⅱ——DEBUG&amp;amp;接口調(diào)試方法

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

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

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

    rk3588有哪些開發(fā)板?

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

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

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

    技術(shù)分享|iTOP-RK3588開發(fā)板Ubuntu20系統(tǒng)旋轉(zhuǎn)屏幕方案

    技術(shù)分享|iTOP-RK3588開發(fā)板Ubuntu20系統(tǒng)旋轉(zhuǎn)屏幕方案
    的頭像 發(fā)表于 04-18 15:19 ?959次閱讀
    <b class='flag-5'>技術(shù)</b>分享|iTOP-<b class='flag-5'>RK3588</b><b class='flag-5'>開發(fā)板</b>Ubuntu20系統(tǒng)旋轉(zhuǎn)屏幕方案

    ElfBoard技術(shù)|【RK3588ELF 2開發(fā)板開機自啟動詳解

    在嵌入式系統(tǒng)開發(fā)中,合理管理開機自啟動項目能夠優(yōu)化系統(tǒng)啟動流程,確保關(guān)鍵服務(wù)和應(yīng)用按時加載運行。本文將詳細(xì)介紹在ELF2開發(fā)板Linux5.10.209系統(tǒng)下基于SystemVinit服務(wù)管理機制
    的頭像 發(fā)表于 06-27 16:20 ?1690次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術(shù)</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'>開發(fā)板</b>開機自啟動詳解

    ElfBoard技術(shù)|如何在RK3588ELF 2開發(fā)板用戶空間更換開機Logo

    ,提升了開發(fā)調(diào)試效率。一、添加Logo分區(qū)elf@ubuntu:~/work/ELF2-linux-source$videvice/rockchip/.chip
    的頭像 發(fā)表于 10-29 11:12 ?893次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術(shù)</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'>開發(fā)板</b>用戶空間更換開機Logo