标题:
ubuntu下安装openocd ,利用Openocd +
[打印本页]
作者:
yuchengze
时间:
2016-12-13 19:55
标题:
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
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0