嵌入式开发远程调试arm-linux-gdb的移植

远程调试工具arm-linux-gdb的移植:

因为编译gdb的时候要用到ncurses的lib,所以要先编译出ncurses的lib库,而这个库又要用到gmp的Lib,所以需要以下三个包:

gmp-4.2.1.tar.gz,ncurses-5.2.tar.gz,gdb6.4.tar.gz

(1)安装gmp-4.2.1.tar.gz

tar zxvf gmp-4.2.1.tar.gz

./configure --host=arm-linux --prefix=/opt/arm-gmp

make CC=arm-linux-gcc LD=arm-linux-ld AS=arm-linux-as NM=arm-linux-nm STRIP=arm-linux-strip OBJCPY=arm-linux-objcopy

make isntall

(2)安装ncurses-5.2.tar.gz

(3)安装gdb6.4.tar.gz

 

这个过程中学到了:

(1).grep命令的使用,-r(递归) –n(打印行号)

grep "no termcap library found" * -rn,编译时会出错,然后通过这个命令查找configure文件打印这个信息的行号然后加以改正:或注释或修改.

(2).生成core文件之前需要执行的命令.(生成core文件之前需要将本来应该traip的文件的traip动作关掉,因为这样才能有程序的符号表也就才能有真的gdb的结果.)

ulimit -c 2000

(3).修改的./gdb/configure的脚本文件.

gdb/configure   

#if test "$ac_cv_search_tgetent" = no; then

# { { echo "$as_me:$LINENO: error: no termcap library found" >&5

#echo "$as_me: error: no termcap library found" >&2;}

#   { (exit 1); exit 1; }; }

#fi

tar zxvf gdb6.4.tar.gz

./configure --host=arm-linux --prefix=/opt/arm-gdb --target=arm-linux --build=i686-linux

make CC=arm-linux-gcc,这个步骤可能会出现问题,看下面的解决办法。

下面语句是因为没有配置好ncurses,手动加上的ncurses库,

arm-linux-gcc -g -o2 -o gdb gdb.o libgdb.a ../readline/libreadline.a ../opcodes/libopcodes.a ../bdf/libbfd.a ../libliberty/libiberty.a

tar zxvf ncurses-5.2.tar.gz

./configure --host=arm-linux --prefix=/opt/arm-ncurses

make CC=arm-linux-gcc LD=arm-linux-ld AS=arm-linux-as NM=arm-linux-nm STRIP=arm-linux-strip OBJCPY=arm-linux-objcopy

make isntall

你可能感兴趣的:(脚本,嵌入式,search,工具,library)