pisces软件:jlink jlink gdb server insight的调试环境的建立

来源:百度文库 编辑:偶看新闻 时间:2024/04/23 19:07:13
前段时间买了个jlink v8,一直就把它当成一个nor flash下载器用,没使用它的调试功能。今天建立jlink +jlink gdb server +insight调试环境。gdb还不熟,以后再搞吧。
*------------------------------------------------------------------------
主机环境:window xp+vmware+fedora 10
insight:6.8-1
jflash v8
*------------------------------------------------------------------------

下载insight 6.8-1(请下这个版本,6.8版本可以编译通过,但在我电脑上启动有问题)
[aizi@localhost insight]$ wget -nv  ftp://sourceware.org/pub/insight/releases/insight-6.8-1.tar.bz2
[aizi@localhost insight]$ bunzip2 insight-6.8-1.tar.bz2
[aizi@localhost insight]$ tar xvf insight-6.8-1.tar.bz2
[aizi@localhost insight]$ cd insight-6.8-1
[aizi@localhost insight]$ ././configure --target=arm-linux --prefix=/home/aizi/FriendARM/mini2440/GDB
[aizi@localhost insight]$ make
[aizi@localhost insight]$ make install
------------------------------------------------------------------------------------------------------------
下面顺便把arm-linux-gdbserver也编译出来
[aizi@localhost insight]$ cd ./gdb/gdbserver [aizi@localhost insight]$ ./configure --host=arm-linux --target=arm-linux [aizi@localhost insight]$ make将gdbserver考到mini2440的/bin 目录下,可用于应用程序的调试。
------------------------------------------------------------------------------------------------------------
[aizi@localhost insight]$ cd /home/aizi/FriendARM/mini2440/GDB/bin
[aizi@localhost insight]$ ./arm-linux-insight
打开insight
 然后file->Target selection 做相关配置
 
192.168.0.102是window xp的地址
------------------------------------------------------------------------------------------------------
下面打开JLinkGDBServer。
Run->connect to target
连接成功的话gdbserver的GDB 后面会显示Connected to 192.168.xxx.xxx,这个是你虚拟机的ip
-----------------------------------------------------------------------------------------------------------------------

补充:1.gdb调试的模型:
 
             ------------------------------------------------------------------------------------------------------------------
            GDB前端<--->GDB<--->GDB服务程序<--->JTAG协议转换器(仿真器)<--->目标CPU(ARM CPU)
                                      |
                                  控制接口
            -------------------------------------------------------------------------------------------------------------------
这里insigh就是GDB前端,GDB是arm-linux-gdb,是个insight编译的时候一起生成的,由insight自动调用。GDB服务程序就是JLinkGDBServer,当然此处也可以换成其他的开源GDB服务程序,比如OpenOCD,主页是http://openocd.berlios.de/web/。
JTAG协议转换器就是J-link了。
因为我们做的是交叉开发(即在x86结构的电脑上开发ARM等非x86结构的CPU程序),所以GDB无法直接调试编译出来的程序,这就需要一个服务程 序。这个服务程序可以是一个可以控制目标CPU的程序(可能运行于计算机上;也可能运行于某些仿真器上,例如如BDI2000就是这样),也可以是一个运 行于目标CPU上的服务程序,由它来装载被调试的程序。但是后者一般需要目标CPU上已经运行起了Linux内核;调试Bootloader和 Linux内核本身,需要前一种服务程序。GDB和GDB服务程序之间的连接方式可以是以太网或者串口,而且GDB服务程序一般还有别的控制接口,例如 Telnet接口,可以实现对目标CPU的控制,如初始化和程序文件下载等。
2.如果编译insight6.8,最后运行时在我电脑上产生错误:
   Tk_Init failed: Can't find a usable tk.tcl in the following directories:
   而insight6.8-1已修正。