ARM 交叉編譯 使用gdbserver

2021-10-23 12:54:16 字數 1731 閱讀 2689

1,編譯gdb過程中需要使用texinfo, 先安裝texinfo

sudo apt-get install texinfo

2,解壓配置編譯 arm-linux-gnueabihf端:--host=arm-linux-gnueabihf

windows:--host不用配置,預設即可

./configure --target=arm-linux-gnueabihf --host=arm-linux-gnueabihf --program-prefix=arm-linux-gnueabihf- cc=arm-linux-gnueabihf-gcc --prefix=/home/alinx/gdb_install

--build:執行編譯工具鏈的平台,也就是正在執行編譯操作的平台。如果未指定此引數,則通過 config.guess 猜測得到。通常都不指定此引數。

--host:可執行程式將執行的平台。如果未指定此引數,則和 --build 相同。如果 --host 和 --build 不同,是交叉編譯;否則是普通編譯。

--target:可執行程式將處理的平台。如果未指定此引數,則和 --host 相同。一般來說,程式執行在什麼平台,處理的就是什麼平台,此引數值和 --host 引數相同,不需顯式指定,所以通常不會關注到此引數。但在製作交叉編譯工具 (如 gcc、gdb 等) 這種特殊情況下,此值和 --host 不同,例如交叉編譯器 arm-linux-gcc,它執行在 x86-linux 平台 (--host 引數),但處理的是 arm-linux 平台 (--target 引數)。如果是交叉編譯乙個普通的應用,如執行於 arm-linux 平台的 tftp 程式,則它的執行平台和處理平台都是 arm-linux 平台

--program-prefix:指定將被加到所安裝程式的名字上的字首.例如,使用'--program-prefix=arm-linux-gnueabihf-'來configure,編譯的gdb檔名為arm-linux-gnueabihf-gdb

--prefix:編譯的時候用來指定程式存放路徑 。不指定prefix,可執行檔案預設放在/usr /local/bin,庫檔案預設放在/usr/local/lib,配置檔案預設放在/usr/local/etc。其它的資源檔案放在/usr /local/share。

3,make            make install

4,程式執行  ./gdbserver 172.27.226.141:5000 transdata

附錄:petalinux2015.4 使用gdbserver方式:   adding gdb to the rootfs:

交叉編譯 ARM

交叉編譯 是在乙個平台上生成另乙個平台上的可執行 編譯 例 c51的交叉編譯發生在keil 整合環境上面 linux上面編寫樹莓派的 並編譯成可執行的 如 out,在樹莓派上執行 目的平台上不允許或不能夠安裝我們所需要的編譯器 1 目的平台上的資源貧乏,無法執行我們所需要編譯器 2 目的平台還沒有建...

arm交叉編譯Valgrind

1.wget 把檔案考到板子上,並同步板子的時間到現在。tar xvf valgrind 3.11.0.tar.bz2 cd valgrind 3.11.0 3.configure make make install 注意 prefix opt valgrind指定的目錄要與開發板上放置的目錄一致,...

openssl交叉編譯arm

1 交叉編譯arm環境的openssl 修改config檔案 因為晶元架構為armv7,所以新增 guessos armv7 generic linux2 對應位置 除了修改config檔案也可以在.config的時候新增 march armv7 a 引數 2 使用過程中遇到的問題 我使用的虛擬機器...