linux 编译 freescale arm 的gdb server

一、gdb server 的生成

1、官网下载 gdb-7.8.tar.gz

2、解压

$ tar zxf gdb-7.8.tar.gz

参考 gdb-7.8/gdb/gdbserver/README,按如下描述进行配置。

3、新建空目录

$ mkdir s-clean-gdb
$ cd s-clean-gdb

4、生成配置文件

s-clean-gdb$ export CC=arm-fsl-linux-gnueabi-gcc
s-clean-gdb$ ./../gdb-7.8/gdb/gdbserver/configure --build=$MACHTYPE --target=arm-fsl-linux-gnueabi --host=arm-fsl-linux-gnueabi

说明:--build 指定编译的主机类型,--target 意思是说目标平台是运行于arm体系结构的linux内核,--host 指定生成的程序所运行的环境

我使用的工具链在:/opt/arm-cross/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/ 下

5、编译

s-clean-gdb$ make
s-clean-gdb$ ls

6、验证

s-clean-gdb$ file gdbserver 
gdbserver: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.31, not stripped

 

二、交叉gdb 的生成

1、重新解压 gdb-7.8

2、config 配置

gdb-7.8$ ./configure  --target=arm-fsl-linux-gnueabi --prefix=/usr/local/gdb-7.8-arm-fsl-linux-gnueabi

3、make

4、sudo make install

 

三、交叉调试

1)在开发板上

# gdbserver :6666 hello

2) 主机上

~$ /usr/local/gdb-7.8-arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-gdb

进入gdb 后,依次通过

file 加载文件,

target remote 192.168.1.80:6666 连接gdbserver

之后按正常的调试手段即可。

注意:本机的运行指令 r 在交叉调试时使用 c

 

posted @ 2015-04-10 17:04  阿青1987  阅读(584)  评论(0编辑  收藏  举报