感觉比较乱 是不是可以重新写一下 另 我也没看到你把GDBSERVER 的单独编译介绍了 没必要还单独提一句了吧 目录是不是分的清晰一些?比如先准备好 哪些 怎么编译 然后是MIPS端的GDB 如何config的 2011/1/7 Liu <proljc@xxxxxxxxx>: > 2011/1/6 Yao Qi <qiyaoltc@xxxxxxxxx>: >> 2011/1/6 Liu <proljc@xxxxxxxxx>: >> >> 一点点个人看法 :) >> >>> >>> 以MIPS为例,我们会得到3个目标: >> >> “目标” 有点不太合适。 > 恩,“目标”改成“产物”?或者? >> >>> 1,运行在MIPS上的gdb。 >>> 2,运行在MIPS上的gdb-server。 >>> 3,运行在x86上的 交叉gdb。 >>> 目标1用来在MIPS的板子上直接运行,ssh过去调试的时候用这个。 >>> 目标2和目标3配合起来做远程调试,具体怎么用我还不会。 >>> >>> 下来结合步骤来说一下build的方法: >>> >>> gdb需要termcap,这样需要自己build出来一个,当然,本机的libncurese-dev还是要安装的。因为本机安装的libncurese-dev是给目标3用的。我们现在build的这个termcap是给目标1和目标2用的。 >>> >> >> 我是看明白了,但是可能有点疑惑别人。 >> 1 libncurese-dev 和 termcap 的关系没有说清除, >> 2 libncurese-dev 和 termcap 对于 1和3都是需要的,不管是你native build 还是cross build >> 3 你这里给目标1和目标2 build termcap,应该是因为你的目标板子上没有这个库。 >> > 恩,libncurese-dev包含了termcap,因为是静态编译,所以不管目标板上有没有,我们就自己解决了吧。 > >>> tar vxf ${SOURCE}/termcap-1.3.1.tar.gz >>> cd termcap-1.3.1/ >>> 不解释 >>> >>> CC="${CROSS_TARGET}-gcc ${BUILD64}" \ >>> RANLIB="${CROSS_TARGET}-ranlib" \ >>> ./configure --prefix=/tools --host=${CROSS_TARGET} --target=${CROSS_TARGET} >>> 这个需要我们指定MIPS的交叉编译器。--host指的是编译出来的gdb运行在什么平台下,这里必然是MIPS了。 >> >> 最好解释一下 --target。 > --target这个参数,不好说。 > --build这个参数的意思是,你在什么机器上输入的make命令,一般都是x86了。 > --host这个参数指的是,你make出来的东西,在什么机器上运行,我这里是MIPS64. > --target嘛,如果是gcc的话,代表的意思是,make出来的gcc会为target知名的平台输出代码。binutils一样。gdb,我还真不知道怎么解释了。 > > yao多多代劳吧:) > >> >> -- >> Yao Qi <qiyaoltc AT gmail DOT com> >> http://sites.google.com/site/duewayqi/ >> >