gdb移植到arm开发板

1.下载gdb#

https://ftp.gnu.org/gnu/gdb/

http://ftp.gnu.org/gnu/ncurses/

我这里选择的是gdb-7.12.tar.gz和ncurses-5.6.tar.gz

2.编译安装#

2.1 设置工具链#

export PATH=$PATH:/home/robin/share/cv183x/host-tools/gcc/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/

2.2 编译ncurses#

1
2
3
./configure --host=aarch64-linux-gnu-gcc --prefix=/home/robin/share/ncurses --without-ada --enable-termcap --with-shared CFLAGS="-O3 -fPIC"
make
make install

执行./configure时可能会失败,报错如下:

这是由于64bit machine配置引起的,进行如下操作后继续尝试。

wget -O config.guess 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'
wget -O config.sub 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'

编译出的ncurses库如下:

2.3 编译gdb#

1
2
3
4
5
tar xvf gdb-7.12.tar.gz;
cd gdb-7.12
./configure --host=aarch64-linux-gnu-gcc(--host=arm-linux-gnueabihf) --enable-shared --prefix=/home/robin/share/gdb --without-x --disable-gdbtk --disable-tui --without-included-regex --without-included-gettext --disable-werror CFLAGS="-O0 -fPIC"
make
make install

./configure后结果如下:

make install后结果如下:

3.运行测试#

1.将gdb和ncureses库cp到板子运行,结果如下: