開發環境:AT91SAM9X25開發板:安裝linux2.6.39;linux
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測試
1、下載gbd http://ftp.gnu.org/gnu/gdb/;本人下載的是gdb-6.8。spa
2、安裝debug
(1)解壓:tar zxvf gdb-6.8a.tar.gzorm
(2)配置安裝gdb:server
cd gdb-6.8ip
./configure --target=arm-linux開發
make
get
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安裝完成了。(請繼續往下。。。。)
3、小試牛刀
(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將被程序。