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/ >