ubuntu 下交叉编译工具 ---gdb的安装与使用

gdb官网链接下载:

http://ftp.gnu.org/gnu/gdb/


假设下载了文件  gdb-7.7.tar.bz2

1)解压缩文件

tar -jxvf gdb-7.7.tar.bz2
cd gdb-7.7


(2)参数配置

 ./configure --target=arm-linux

(3)修改源码  gdb-7.7/gdb/remote.c

将一下代码

f (buf_len > 2 * rsa->sizeof_g_packet)
    error (_("Remote 'g' packet reply is too long: %s"), rs->buf); 
修改为

    if (buf_len > 2 * rsa->sizeof_g_packet)
    {
        rsa->sizeof_g_packet = buf_len ;
        for (i = 0; i < gdbarch_num_regs (gdbarch); i++)
        {
            if (rsa->regs[i].pnum == -1) continue;
            if (rsa->regs[i].offset >= rsa->sizeof_g_packet)
                rsa->regs[i].in_g_packet = 0;
            else
            rsa->regs[i].in_g_packet = 1;
        }
    }
(4)执行 make
make
,可能出现错误 
configure: error: no termcap library found
解决方式:
sudo apt-get install libncurses5-dev
(5)安装

make install

===============================================================================================================================

(1)生成开发目标平台上的 gdbserver

cd gdb-7.7/gdb/gdbserver


(2)配置平台属性

 ./configure --target=arm-linux --host=arm-linux

(3)执行make,生成gdbserver

make CC=arm-linux-gcc

这一步,如果没装arm-linux-gcc会报错。如果出错,按照以下步骤安装arm-linux-gcc

            【1】下载 arm-linux-gcc-4.4.3.tar.gz

            【2】解压缩文件到制定目录(-C的作用可以查一下)

          sudo tar xvzf arm-linux-gcc-4.4.3.tgz –C /
            【3】新建目录

          sudo mkdir /usr/local/arm
            【4】拷贝文件
          sudo cp -r /opt/FriendlyARM/toolschain/4.4.3 /usr/local/arm
            【5】添加环境变量

          sudo vim /etc/profile

          export  PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin

             【6】重启机器,环境变量生效

(4)将生成好的gdbserver拷贝到目标板上。


参考链接:

http://blog.sina.com.cn/s/blog_7e2e98ad01015veb.html

http://blog.chinaunix.net/uid-28458801-id-4195544.html

http://www.linuxidc.com/Linux/2012-08/68272.htm

你可能感兴趣的:(ubuntu 下交叉编译工具 ---gdb的安装与使用)