看了那么多的openocd使用说明,还是和实际使用有很大差别,没办法,linux下搞东西就是这样,意外总比惊喜多!:)
首先下载openocd源代码:在linux下使用如下命令获取最新版本的openocd
svn checkout svn://svn.berlios.de/openocd/trunk
进入openocd源码目录,编译该工具,我使用了并口,所以必须加入parport条件,步骤如下:(以下命令均在命令行输入)
#cd trunk
#./bootstrap
#./configure --enable-parport --enable-parport_ppdev --prefix=/usr/arm/openocd
#make
#make install
如果上面没有发生编译问题,那么你就得到了一openocd工具了,安装在/usr/arm/openocd目录下
下面提一下openocd中使用jlink的编译操作:
首先,很重要的一步是安装libusb工具。不安装,编译openocd 时会提示找不到usb.h文件,该文件即为libusb工具的头文件。该工具可在sourceforge上找到,下载解压缩到零时目录,假定为temp目录(当前最新版本为0.1.12,其他版本类似)
#cd libusb-0.1.12
#./configure
#make
#make install
这样,在该工具就被安装到默认路径/usr/local/bin目录下,然后把/usr/local/include目录下的usb.h和usbpp.h拷贝到/usr/include目录下,这样为后面编译openocd添加jlink支持时提供头文件
下面开始再次编译openocd,本次编译同时提供并口和jlink 支持,进入openocd源代码目录:
#cd trunk
#./bootstrap
#make clean
#./configure --enable-parport --enable-parport_ppdev --enable-jlink --prefix=/usr/arm/openocd
#make
#make install
如果不出意外地话,将会在目录/usr/arm/openocd中产生新版的openocd
关于openocd 在调试ARM上的使用步骤
在linux下调试ARM嵌入式系统,一般首先由 openocd 启动gdb服务并加载一个选定的仿真器驱动,openocd把从gdb服务端口接收到的数据送入仿真器驱动程序,驱动程序把数据按jtag协议转换送入ARM芯片,完成对芯片的控制。