开发环境:AT91SAM9X25开发板:安装linux2.6.39;
pc的虚拟机:Linux version 2.6.18-194.el5 (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) ,arm-linux-gcc的版本为version 4.4.3
一、下载gbd http://ftp.gnu.org/gnu/gdb/;本人下载的是gdb-6.8。
二、安装
(1)解压:tar zxvf gdb-6.8a.tar.gz
(2)配置安装gdb:
cd gdb-6.8
./configure --target=arm-linux
make
make install
(3)配置安装gdbserver:
cd gdb
cd gdbserver
./configure --target=arm-linux --host=arm-linux
CC = /usr/local/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc
CC的值为arm-linux-gcc的路径,可以通过which arm-linux-gcc命令定位出来。arm-linux-gcc的安装请参照之前的博文。
make
通过以上几个命令,已经将gdb安装完成了。(请继续往下。。。。)
三、小试牛刀
(1)在虚拟机下编写测试程序test.c,编译arm-linux-gcc -g -o test test.c
(2)将gdbserver文件夹中的gdb和(1)中生成的test拷贝到开发板的工作目录下。
(3)pc虚拟机下打开minicom,则当前在开发板的工作目录下输入./gdbserver 192.168.1.110:55555 test。尝试过好像此处ip地址貌似可以随便写,端口55555,随意写的,应该大于1024即可。
此时,可能会出现如下错误:error in loading shared libraries: libthread_db.so.1: cannot open shared object file: No such file or directory
解决步骤:<1>在虚拟机下找到arm-linux-gcc的安装目录,在/usr/local/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/lib找到libthread_db-1.0.so文件。
<2>将该文件拷贝到开发板的/lib文件夹下,在该目录下打开终端,输入ln -s libthread_db-1.0.so libthread_db.so.1。
(4)开发板输入如下:
(5)虚拟机下输入如下:
其中192.168.1.110是开发板的IP地址。请确保开发板和虚拟机可以ping通。
(6)开发板中出现Remote debugging from host 192.168.1.220则表示GDB交叉编译可以使用。在gdb下输入命令c,test_arm将被程序。