GDB(GNU Debugger)是一个由GNU开源组织发布的程序调试工具,主要用于Unix/Linux系统, 是嵌入式软件工程师调试用的比较多的一种工具, 又称GNU调试器,是用来帮助调试我们程序的工具。
本文主要记录在x86 Ubuntu环境下使用交叉编译工具链,编译生成RV1126开发板适合的gdb版本,以RV1126为例子在开发板上移植GDB。
由于要使用交叉编译工具链,要提前准备好,不会安装的可以看一下教程这里就不再赘述了
Linux安装配置ARM交叉编译器arm-linux-gnueabihf-gcc
一、编译GDB源码
1.下载GDB源码
在终端输入码源地址下载(我这里下载的是7.12版本)
wget https://ftp.gnu.org/gnu/gdb/gdb-7.12.tar.gz
2.解压并进入源码目录
tar -zxvf gdb-7.12.tar.gz
cd gdb-7.12
3.配置并生成makefile
./configure --target=arm-linux-gnueabihf --host=arm-linux-gnueabihf CC=/opt/atk-dlrv1126-toolchain/bin/arm-linux-gnueabihf-gcc CXX=/opt/atk-dlrv1126-toolchain/bin/arm-linux-gnueabihf-g++ AR=/opt/atk-dlrv1126-toolchain/bin/arm-linux-gnueabihf-ar --prefix="$PWD/_install"
--target=arm-linux-gnueabihf 为你的交叉编译器前缀
--host=arm-linux-gnueabihf 为你的主机环境
CC CXX AR 这些参数都设置为你的编译器下的路径,不然可能会报错静态库丢失
--prefix="$PWD/_install" 是编译安装生成目录,这里是设置在当前目录下的_install
执行完命令后会提示makefile生成
4.在当前命令行配置编译器环境
这里配置的路径为你的编译器路径下的bin目录
export PATH=/opt/atk-dlrv1126-toolchain/bin:$PATH
5.准备编译
一切准备就绪就可以开始编译和安装了
make
6.编译报错及解决办法
gdb-7.12/missing: 81: makeinfo: not found
WARNING: 'makeinfo' is missing on your system.
sudo apt-get install texinfo
二、安装移植GDB
1.完成编译后安装在本地生成可执行文件
make install
2.进入安装目录修改二进制文件大小
arm-linux-gnueabihf-strip 是用于处理 ARM 架构二进制文件的工具。它用于从可执行文件或目标文件中剥离不必要的符号信息,比如调试信息,以减小文件的大小。这个工具通常在交叉编译环境中使用,目标架构是 ARM 的 Linux 系统。
cd _install/bin
arm-linux-gnueabihf-strip gdb
3.推送gdb的二进制可执行文件到开发板上
可以通过ftp服务,u盘挂载拷贝等形式,我这里使用的adb命令推送到/usr/bin或者/usr/local/bin目录下
adb push D:/gdb /usr/bin
4.检查gdb二进制文件权限
ls -l |grep gdb
chmod a+x gdb
5.测试gdb是否运行正常
gdb --version
到这里arm版的gdb基本移植完成,需要注意的是,交叉编译工具链的使用对应不同平台,如果需要编译其他开发板移植的gdb,需要更换对应的交叉编译工具链。
标签:bin,gnueabihf,RV1126,笔记,编译,gdb,linux,arm From: https://blog.csdn.net/mapleleaves98/article/details/141188984