赞
踩
网上对于在开发板上安装gdb的教程大多都是将开发板的文件系统放在虚拟机主机上,从而通过nfs挂载上去的,主要是针对性能较差开发板,本教程讲解的是如何在开发板上直接安装gdb。
为什么不能直接将pc上交叉编译器中的gdb文件移植过来呢:
因为交叉编译器上的gdb是针对pc上的x86架构编译得到的,而我们需要的是在arm64架构上得到的,这也就是将文件系统放在开发板上的第二个好处。
开发环境:debian10
使用的是瑞芯微的RK3399prod
首先我们要去官网上下载gdb源代码,下面是gdb源码地址:
https://ftp.gnu.org/gnu/gdb/
这里我下载的是最新的gdb-11.2.tar.gz
下载完成后输入指令:
tar -zvxf gdb-11.2.tar.gz
然后进入对应目录下,输入指令:
mkdir build
cd build
../configure --target=aarch64-linux-gnu --host=aarch64-linux-gnu --prefix=/usr/local/aarch64-gdb -v
然后执行编译
make -j4
遇到错误,缺少GMP文件
GMP is missing or unusable
解决方案如下:
apt-cache search GMP
找到相关联的软件,找到libgmp-dev
sudo apt-get install libgmp-dev
遇到错误:提示获取的404找不到
sudo apt-get update
出现inrelease字样,通过翻译知道应该是有冲突。
这里借鉴了如下的思路:下面是网址链接
网址链接
命令如下:
sudo apt-get clean
sudo mv /var/lib/apt/lists /tmp
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get clean
sudo apt-get update
然后再次更新,安装软件,提示成功
然后执行:
sudo make install
在/usr/local/aarch64-gdb/bin目录下得到gdb可执行文件
执行指令:
file gdb
得到:
aarch64-linux-gnu-gdb: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=55593d5d37ed4376cab71a5b099c34b581ff490a, with debug_info, not stripped
这里得到gdb文件就是ARM64位啦。
mv gdb aarch64-linux-gnu-gdb
cp aarch64-linux-gnu-gdb /usr/bin
至此gdb移植完成
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。