首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

ubuntu下安装openocd ,利用Openocd +

ubuntu下安装openocd ,利用Openocd +

本帖最后由 yuchengze 于 2016-12-27 15:01 编辑

1.下载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的话会有提示:Arm11 target JTAG error screg out 0x00; 二是用户权限问题,不要再普通用户下执行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
返回列表