嵌入式gdb工具編譯

2021-06-27 00:29:40 字數 2066 閱讀 6943

對於嵌入式gdb而已,分為兩種,這兩種方法的的區分是鑑於使用和編譯後的工具而言。

1、第一種是開發板上使用的gdb,就像pc機上linux系統使用gdb一樣。

2、第二種是開發板上使用單板的gdb client,pc機上使用pc版本gdb server。兩者通過網路來互動資訊實現除錯。

筆者除錯是使用的第一種,這裡也主要介紹第一種gdb的編譯方法。

ø 新增交叉編譯鏈到環境變數,即將交叉編譯鏈所在的檔案路徑加到環境變數中:

如:export path=/opt/freescale/usr/local/gcc-4.1.78-eglibc-2.5.78-dp-1/powerpc-linux-gnuspe/bin:/opt/freescale/usr/local/gcc-4.1.78-eglibc-2.5.78-dp-1/powerpc-linux-gnuspe/powerpc-linux-gnuspe/bin:$path

ø 進入gdb目錄,執行

./configure--host=powerpc-linux-gnuspe --enable-shared --prefix=/home/gdb cc=powerpc-linux-gnuspe-gcc

其中:

--enable-shared    

動態編譯

--host=                 

用powerpc-linux-gnuspe-gcc

編譯,注意該選項不是任意自己定,而是根據交叉編譯鏈的名字取其字首,如筆者

mpc8548

交叉編譯鏈名稱為

powerpc-linux-gnuspe-gcc

則host

定義為powerpc-linux-gnuspe

--prefix=              

安裝目錄

cc 表示gcc

檔名

待linux會自動配置檔案生成makefile檔案後執行make,如果沒有異常情況,經過漫長的等待之後就會正常生成單板可執行的gdb交叉編譯檔案,執行make install後在prefix定義的目錄的/home/gdb/bin目錄下就能看的生成的gdb,但往往在編譯的時候都會報下面這個錯:

make[1]: *** [configure-gdb] error 1

configure: error: no termcap library foundmake[1]: ***[configure-gdb] error 1

這是因為大多數交叉編譯鏈工具都沒有包含termcap這個lib庫,而編譯gdb需要用到這個庫的介面。需要先交叉編譯這個庫後放入到交叉編譯鏈的lib庫中。

解壓termcap包,進入termcap包以後使用/configure命令配置生成makefile:

./configure --target=

powerpc-linux-gnuspe --prefix=/home/termcap

到交叉編譯器資料夾下搜尋包含libc.a的目錄:find –name libc.a,搜尋到之後將libtermcap.a拷貝到其中,如果搜尋到多個不確定哪個目錄那就都拷貝乙份。

重新到gdb目錄執行make,然後makeinstall,/home/gdb/bin下生成的gdb是包含了gcc編譯除錯資訊的gdb,檔案比較大,執行下面命令,壓縮去除多餘除錯資訊:

#powerpc-linux-gnuspe-stripgdb -o gdb-stripped

檢查一下編出來的檔案資訊,可以看到:

#file gdb-stripped

gdb-stripped: elf 32-bit msb executable, powerpc or cisco 4500,version 1 (sysv), dynamically linked (uses shared libs), for gnu/linux 2.0.0,stripped

至此gdb交叉編譯完畢,將gdb-stripped拷貝到單板即可執行。

嵌入式 交叉編譯工具配置及編譯

目的不在如何實現交叉編譯工具配置及編譯,主要記錄一些過程中遇到的一些問題。環境 ununtu16.04 解壓縮交叉編譯器工具 記得將壓縮包拖至虛擬機器中。進入所在目錄 我放在桌面 解壓命令 tar xvzf arm linux gcc 4.5.1 v6 vfp 20101103.tgz c 注意 c...

除錯工具 嵌入式平台GDB除錯

soc ssc323 交叉編譯鏈 arm buildroot linux uclibcgnueabihf 個人測試使用的版本是 gdb 9.1 gdb編譯 mkdir gdbbuild cd gdbbuild gdb 9.1 configure target arm buildroot linux ...

嵌入式開發工具gdb和make

掌握嵌入式開發工具gdb和make的使用 1 嵌入式開發工具 gdb 2 嵌入式開發工具make 周五一天 gcc c 1.c gcc wall 1.c 檢查1.c 有沒有問題 a.out 執行 1.什麼是工程 專案?專案 多個原始檔 資源檔案構成的專案 2.如何編譯多個原始檔的 1000個原始檔,...