2013年2月23日 星期六

gdb-7.5.1 crosee compilier



###################
##       termcap       ##
###################
gdb 需要 termcap
wget ftp://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz
tar xvzf termcap-1.3.1.tar.gz
cd termcap-1.3.1
./configure --target=arm-linux --prefix=`pwd`/./install

configure 沒辦法改 toolchain 手動修改
vim Makefile
-CC = gcc
-AR = ar
-RANLIB = ranlib
+CC = arm-linux-gcc
+AR = arm-linux-ar
+RANLIB = arm-linux-ranlib

make
make install

###################
##           gdb          ##
###################

wget http://ftp.gnu.org/gnu/gdb/gdb-7.5.1.tar.bz2
tar xjvf gdb-7.5.1.tar.bz2

這個例子 target board 是 ARM,因為要支援 remote gdb,所以 host 是 PC

1. build gdb for PC (不需要 termcap)
./configure \
--host=i686-pc-linux-gnu --target=arm-mv5sft-linux-gnueabi \
--program-prefix=arm-linux- \
--prefix=`pwd`/./install_pc

tui 版本沒編出來??再研究...
--enable-tui

make && make install
會產出 arm-linux-gdb

2. build gdb & gdbserver for ARM (需要 termcap)
./configure --host=arm-mv5sft-linux-gnueabi --prefix=`pwd`/./install_arm \
CPPFLAGS=-I`pwd`/../termcap-1.3.1/install_marvell/include \
LDFLAGS=-L`pwd`/../termcap-1.3.1/install_marvell/lib 

make && make install
會產出 gdb & gdbserver

a. 如果只要 gdbserver
./configure --host=arm-mv5sft-linux-gnueabi

make
會產出 gdbserver


####################################################################################
##
## --program-prefix=arm-linux- 是指 build 好得執行檔前綴字,比如 arm-linux-gdb
##
## --enable-tui 是讓 GDB 編出圖形化 UI debug 界面,需要 ncurses,但還是編不出來 @@,先不理
##
####################################################################################

有時 make clean, make distclean 會清不乾淨 config.cache,用 find 來砍。
find . -name "config.cache" -exec rm {} \;


refernece:
        http://checko.blogspot.tw/2006/05/use-gdbserver-and-gdb-remote-debugging.html


沒有留言:

張貼留言