基于GDB的交叉调试环境搭建

来源:互联网 发布:cf人物透视源码 编辑:程序博客网 时间:2024/05/16 14:02
 宿主机: VMware + linux3.0
目标机: mini2440 (arm920t) + linux2.6.32
1、背景
     在宿主机上运行gdb。且最好重新编译gdb源码,生成针对ARM的arm-linux-gdb
     在目标机上运行gdbserver,需要用arm-linux-gcc编译gdbserver源码来生成

2、安装arm-linux-gcc
  • 下载arm-linux-gcc-4.3.2.tgz
  • $ tar zxvf  arm-linux-gcc-4.3.2.tgz(生成/usr/local/arm/4.3.2文件夹)
  • 设置环境变量
    • $ sudo vi /etc/profile
      • 在末尾添加export PATH=$PATH:/usr/local/arm/4.3.2/bin,保存
    • $ source /etc/profile(使环境变量生效)
3、安装arm-linux-gdb
  • 下载gdb-7.3.1.tar.bz2
  • $ tar -jxvf gdb-7.3.1.tar.bz2
  • $ cd gdb-7.3.1
  • $ ./configure --target=arm-linux --prefix=/usr/local/arm-gdb
    • --target配置gdb的目标平台arm-linux,
    • --prefix配置安装路径
  • $ make
  • $ make install (生成arm-linux-gdb,并存入/usr/local/arm-gdb/bin/)
  • 设置环境变量
    • $ sudo vi /etc/profile
      • 在末尾添加export PATH=$PATH:/usr/local/arm-gdb/bin,保存
    • $ source /etc/profile(使环境变量生效)
4、生成gdbserver
  • $ cd /opt/gdb-7.3.1/gdb/gdbserver
  • $ ./configure --target=arm-linux --host=arm-linux
    • --target=arm-linux表示目标平台,
    • --host表示主机端运行的是arm-linux-gdb
  • $ make CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc (必须用arm-linux-gcc)
  • 把gdbserver拷贝到目标板
附录:
1)若make时遇到错误:“configure: error: no termcap library found”
     则需要安装库:sudo apt-get install libncurses5-dev,然后重新make
2)拷贝gdbserver前,可用arm-linux-strip命令gdbserver调试符号信息删除
3)在安装arm-linux-gcc时,在/usr/local/arm/4.3.2/bin目录下已经有arm-linux-gdb
     可以先删除该目录下的所有gdb:$ sudo rm *gdb*
     以便使用新编译的arm-linux-gdb