您的位置:首页 > 其它

arm平台gdb移植实践笔记

2012-04-12 13:30 337 查看
一个人学习,就有这么个问题:本来你以为找到了新大陆,实际上在业内已经是路人皆知的事情了。闭门造车,很容易成为井底之蛙啊。

以下移植参考:/article/9391334.html

一、准备工作:

1.ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses.tar.gz下载源码:ncurse 5.6

2.http://ftp.gnu.org/gnu/gdb/下载源码:gdb-6.8.tar.bz2

二、编译ncurse 5.6

./configure --host=arm-vfp-linux-gnu --prefix=/home/gdb/bin --without-ada --enable-termcap --with-shared

make

make install

三、编译gdb-6.8.tar.bz2

./configure --host=arm-vfp-linux-gnu --enable-shared --prefix=/home/gdb/bin --without-x --disable-gdbtk --disable-tui --without-included-regex --without- included-gettext LDFLAGS="-L/home/gdb/bin/lib" CPPFLAGS="-I/home/gdb/bin/include"

make

make install

第二步和第三步不需要明确export CC=arm-vfp-linux-gnu-gcc,配置后,编译过程自动选择的就是交叉编译器

四、测试

在/home/gdb/bin目录下生成有gdb,gdbserver等工具。将编译好的测试文件gdbtest,和源文件放入这个目录,然后使用nfs挂载到开发板。使用

./gdb gdbtest然后,就能调试了

五、相关问题

1.我刚开始使用的是gdb-7.4的源码,可是编译出来的gdb不能运行,总是提示:segmentation fault

2.在gdb-6.8编译的过程中,出现找不到libtermcap.a的提示,可将其它地方的libtermcap.a放到......../nxp/gcc-4.3.2/arm-vfp-linux-gnu/sys-root/lib目录下即可

3.有网络大虾说在编译gdb源码的时候要加一个bfd.h.但是我没有加,实际上这个文件是编译过程中生动生成的。

4.测试过过程中找不到libncurses.so.5,这时候要将/home/gdb/bin/lib目录中的三个libncurses文件全放到你自己的开发板的/lib目录下即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: