OpenOCD介绍

【摘要】 什么是OpenOCDOpenOCD(Open On-Chip Debugger)是一个开源的片上调试器,旨在提供针对嵌入式设备的调试、系统编程和边界扫描功能。OpenOCD的功能需要调试仿真器来辅助完成,调试仿真器是一个提供调试目标电信号的小型硬件单元。常用的有JLink、STLink等,一些开发板直接集成了调试仿真器,如小熊派开发板就集成了STLink。通过下面的OpenOCD架构图我们能...

什么是OpenOCD

OpenOCD(Open On-Chip Debugger)是一个开源的片上调试器,旨在提供针对嵌入式设备的调试、系统编程和边界扫描功能。

OpenOCD的功能需要调试仿真器来辅助完成,调试仿真器是一个提供调试目标电信号的小型硬件单元。常用的有JLink、STLink等,一些开发板直接集成了调试仿真器,如小熊派开发板就集成了STLink。

通过下面的OpenOCD架构图我们能更好的认识OpenOCD。可以看出OpenOCD提供了GDB Server,可以通过它进行GDB相关的调试操作。提供Telnet Server,可以通过Telnet连接对目标板进行烧录、重启等操作。OpenOCD的配置基于TCL脚本,可以使用默认自带的TCL脚本,也可以编写自定义的脚本。

如何使用

上面我们提到OpenOCD需要调试仿真器配合使用,一般我们还会使用gdb client与其配合进行远程调试。

具体命令行操作步骤如下:

  1. 启动OpenOCD(以小熊派开发板为例)
    openocd –f board\stm32l4discovery.cfg
    -f 参数指定加载的TCL脚本文件,可以在OpenOCD 的scripts目录下找到很多自带的脚本。具体值根据不同开发板指定。

  2. 启动gdb客户端并连接
    arm-none-eabi-gdb
    启动gdb客户端
    target remote :3333
    连接到gdb server(OpenOCD默认为3333端口)

接下来就可以使用gdb命令进行开发板的调试了。

相关概念

JTAG

JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA器件等。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 相关JTAG引脚的定义为:

  • TMS:测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;

  • TCK:测试时钟输入;

  • TDI:测试数据输入,数据通过TDI引脚输入JTAG接口;

  • TDO:测试数据输出,数据通过TDO引 脚从JTAG接口输出;

SWD

串行调试(Serial Wire Debug),一种和JTAG不同的调试模式,与JTAG的20个引脚相比,SWD只需要4个(或者5个)引脚,结构简单,但是使用范围没有JTAG广泛,主流调试器上也是后来才加的SWD调试模式。

SWD和传统的调试方式区别:

  • SWD模式比JTAG在高速模式下面更加可靠。在大数据量的情况下面JTAG下载程序会失败,但是SWD发生的几率会小很多。基本使用JTAG仿真模式的情况下是可以直接使用SWD模式的,只要你的仿真器支持,所以推荐大家使用这个模式。

  • 在GPIO刚好缺一个的时候,可以使用SWD仿真,这种模式支持更少的引脚。

  • 在板子的体积有限的时候推荐使用SWD模式,它需要的引脚少。

OpenOCD资料

  • 项目主页 http://openocd.org/

  • 用户手册 http://openocd.org/doc/html/index.html

  • 源码镜像 https://github.com/ntfreak/openocd

  • OpenOCD通常都是源码发布,当然网上有一些编译好的二进制分发,例如这个 https://gnutoolchains.com/arm-eabi/openocd/

(0)

相关推荐

  • JTAG和SWD小结

    目录 1. JTAG简介 2. SWD简介 3. SWD和JTAG的区别 4. JLink仿真器 5. ST-Link仿真器 1. JTAG简介 JTAG(Join Test Action Group ...

  • STM32F7开发板自己造

    我去年就想自己造个144脚STM32F7+SDRAM的板子了,针对音频处理算法开发.虽然在任性DIY活动中已经获得了一块强大的F746G-Disco,从功能上差不多是满足了我的需求,但灵活性还是不够. ...

  • 2021年三亚养猪补贴对象、标准及申请流程介绍!

    近几年随着猪价的上涨,养猪户也越来越多,但是目前生猪养殖成本大幅上升,市场猪肉价格居高不下,为了鼓励生猪养殖,很多地区发布了一系列的养猪补贴政策,今天就给大家介绍一下2021年三亚生猪养殖补贴政策及养 ...

  • 哈伯-博施工艺全介绍

    哈伯-博施法是一种将氮和氢固定在一起生产氨的方法,氨是植物肥料生产的关键部分.该工艺在20世纪初由弗里茨·哈伯(Fritz Haber)开发,后来被卡尔·博世(Carl Bosch)修改为生产化肥的工 ...

  • 蜂窝活性炭的应用介绍

    产品简介 山东新空活性炭以高品质煤质活性炭为原理,可广泛应用于各类气体净化设备和废气治理工程. 蜂窝活性炭是一种具有大比表面积,微孔结构,高吸附容量的活性炭产品.选用蜂窝活性炭吸附法,即废气与具有大比 ...

  • (35条消息) 中国城域网路由情况介绍

    中国的城域网,大概有三张比较典型的,一个是中国移动的CMnet,一个是中国电信IP城域网,还有一个是中国网通IP城域网.作为接入最后的阵地,城域网的业务是最复杂的.含盖了IPTV,语音,Interne ...

  • 山东41家主要地炼企业介绍汇总!

    一.山东地炼加工能力 鑫岳燃化240万吨,亚通石化276万吨,天弘化学440万吨,精细化工197万吨,利津石化350万吨,垦利石化252万吨,神驰252万吨,齐润石化220万,京博石化331万吨,鲁清 ...

  • 《内蒙古中医药》2013年第3期中介绍了...

    <内蒙古中医药>2013年第3期中介绍了一个治疗乙肝的验方--乙肝扶正解毒汤,此方由9味药组成: 党参.白术.生黄芪.丹参.刺五加.虎杖.叶下珠.半枝莲.绞股蓝. 方中: 党参.白术.生黄 ...

  • 2020年全球封装代工厂(OSAT)营收31强排名(附芯片 IC 封装工艺介绍(PPT)))

    数据来源:半导体综研 ---- / END / ---- 注:如有遗漏错误之处请指正,联系方式如下:

  • 麦芽介绍 麦芽的功效与作用有哪些

    行气消食.健脾开胃.消肿祛瘀.麦芽,它是一个非常好的消食的药,用于食积的患者,效果非常好.消食药有很多种,麦芽主要用于吃米饭比较多以后的消食,它的味甘,性非常的平和,归脾.胃经.主要功效是行气消食,同 ...

  • 最贵的黑酸枝是什么品种的?八种最贵黑酸枝特性介绍!

    最贵的黑酸枝是什么品种的?八种最贵黑酸枝特性介绍!趣历史小编给大家提供详细的相关内容. 说到黑酸枝其实大家也知道的很多,世界上黑酸枝很多很多,但是大致的可以分为七大类,所以下面我们一起来盘点看看,下面 ...