1.下载openocd
网址: http://sourceforge.net/projects/openocd/
2.解压
3.进入解压之后的目录 cd /openocd-0.5.0
4.进行装备 ./configure –enable-jlink
这个时分呈现过错提示 找不到usb.h,原因是没有装置libusb的库
下面装置Libusb库
5.sudo apt-get install libusb++-dev
装置完之后从头履行第四步操作 ./configure –enable-jlink,此刻装备成功
6.make 编译
7.make install
以上这些过程完结之后,假如咱们要运用openocd,还需要进行装备,那就是编写一个装备文件openocd.cfg
装备完之后。履行openocd ,犯错,提示Error:Cannot find jlink interface.please check connection and permission .
这种过错的原因有可能是体系没有辨认usb。可是我在体系中现已装置过libusb。那为什么会这样。后来发现是这样的,我的ubuntu是装在virtualbox虚拟机上的,在虚拟机中我没有为之分配一个Usb设备,所以导致这样。所以经过虚拟机上的图标为之分配一个usb设备,再输入此指令。jlink就辨认了。
可是并不是彻底经过的。尽管能够辨认jlink了,可是输入指令openocd之后,仍有一些过错信息。如下图
上图所示过错 arm11 target JTAG error SCREG OUT 0x00.unexpected ARM11 ID code .我想应该是jlink固件版别的问题吧。
上图用的是Jlink v7固件。之后,我将固件Jlink v8烧写到jlink 中。呈现如下过错:
后来几经周折,处理掉此问题。总结如下:
原因有三: 一是Jlink固件版别问题。用v7的话会有提示:Arm11targetJTAGerrorscregout0x00;二是用户权限问题,不要再普通用户下履行openocd指令 ,而换做在超级用户下履行 ;三则是装备文件问题,在自带的jlink.cfg文件中参加jtag时钟装备。运用openocd 自带的装备文件(在装置目录下)/usr/local/share/openocd/scripts/interface/jlink.cfg ,和/usr/local/share/openocd/scripts/target/samsung_s3c6410.cfg .其间jlink.cfg 中增加一句时钟束缚句子 : jtag_khz 250
运转指令: openocd -f jlink.cfg -f samsung_s3c6410.cfg
成果如图:
ok ,done