gdbserver移植

来源:互联网 发布:淘宝视频下载工具 编辑:程序博客网 时间:2024/05/16 14:28

 

1、http://ftp.gnu.org/gnu/gdb/  下载gdb。gdb-7.4.1.tar.gz (最新版,已确认可以编译过)

2、编译gdb

$ tar   xzvf  gdb-7.4.1.tar.gz    

   $ cd  gdb-7.4.1

   $ ./configure  --target=arm-linux  --prefix=/tianpei/share/arm-gdb 

   $ make

   $ make install

安装成功后主要是会在/tianpei/share/arm-gdb/bin下生成三个工具分别是:

arm-linux-gdb arm-linux-gdbtui  arm-linux-run

 

   注意这时我们编译的是用于主机上的gdb程序,因此仍然用x86版本的gcc编译,而不是用arm-gcc。而接下来我们要编译的gdbserver程序则是运行在目标板上的,需要用arm-gcc来编译。用CC=<you_arm-linux-gcc_path>来指定arm-linux-gcc编译器。

3、编译gdbserver

   $cd/gdb/gdbserver/

   $./configure  --target=arm-linux  --host=arm-linux  --prefix=/tianpei/share/arm-gdbserver

 

注释掉/gdb/gdbserver/linux-arm-low.c里面的

/*

#ifdef HAVE_SYS_REG_H

#include <sys/reg.h>

#endif

*/  

   $make CC=/toolschain/4.4.3/bin/arm-linux-gcc 

   $make install  

   安装成功后会生成两个文件,分别是:

/tianpei/share/arm-gdbserver/share/man/man1/arm-linux-gdbserver.1

/tianpei/share/arm-gdbserver/bin/arm-linux-gdbserver

 

  得到gdb和gdbserver之后,将gdbserver下载到目标板就可以远程调试了。(我使用的交叉编译工具是arm-linux-gcc 4.4.3,确认可以编译通过。)

 

 

因为身边没有开发板,接下来测试的流程如下:

1、将/tianpei/share/arm-gdbserver/bin/arm-linux-gdbserver工具下载到开发板的/bin

2、编译实例

编译: $arm-linux-gcc -g hello.c -o hello

实例:
//hello.c
#include<stdio.h>
#include<string.h>
int main()
{
char *str=NULL;
strcpy(str,"hello");
printf("str is %s\n",str);
return 0;
}   

1、  配制gdbserver

设置主机IP地址为:192.168.1.10,开发板系统IP地址为:192.168.1.230(一般只需设置成同一个网段就行),
在开发板中:

#gdbserver 192.168.1.230:1234 hello
Process test created:pid=80   //使gdbserver在1234端口监听。

在主机中:

#arm-linux-gdb
(gdb) target remote 192.168.1.230:1234    //若链接成功,开发板的串口终端会显示如下:
Remote debugging from host 192.168.1.10
(gdb) symbol file hello                              //此处的hello是PC机上的所在路径的hello
(gdb) list
(gdb) break 5

…… 

接下来的调试和本机的gdb调试都是一样的。

 

 

 

 

(参考文章)

http://www.360doc.com/content/11/0731/13/2036337_136916990.shtml

http://www.xxlinux.com/linux/article/accidence/install/20070531/8639.html

http://blog.chinaunix.net/uid-12461657-id-3031723.html

http://blog.csdn.net/bailyzheng/article/details/7488664

 

原创粉丝点击