微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ubuntu下安装openocd ,利用Openocd + Jlink 调试ARM

ubuntu下安装openocd ,利用Openocd + Jlink 调试ARM

时间:11-10 来源:互联网 点击:
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


上一篇:ARM11-S3C6410 UART
下一篇:ARM 核的命名规则

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top