What is OpenOCD?

关于

OpenOCD由Dominic Rath创建,是奥格斯堡应用科学大学(http://www.hs-augsburg.de2005年毕业论文的一部分从那时起,该项目已发展成为一个活跃的开源项目,得到了来自世界各地的各种软件和硬件开发人员的支持。

什么是OpenOCD?

开放式片上调试器(OpenOCD)旨在为嵌入式目标器件提供调试,系统内编程和边界扫描测试。

它是在调试适配器的帮助下完成的,  调试适配器是一个小型硬件模块,有助于为正在调试的目标提供正确类型的电信号。这些是必需的,因为调试主机(在其上运行OpenOCD)通常不会对此类信令或连接到目标所需的连接器具有本机支持。

这样的调试适配器支持一个或多个  传输  协议,每个传输协议涉及不同的电信令(并且在该信令之上使用不同的消息传递协议)。有许多类型的调试适配器,它们的调用几乎没有统一性。(还有产品命名差异。)

这些适配器有时被封装为分立的加密狗,这些加密狗通常可称为  硬件接口加密狗一些开发板也直接集成它们,这可以让开发板通过USB直接连接到调试主机(有时也通过USB供电)。

例如,  JTAG适配器  支持JTAG信令,用于与目标板上符合JTAG(IEEE 1149.1)的TAP通信。一个  TAP  是一个“测试访问端口”,它处理的特殊指令和数据的模块。TAP在芯片和电路板之间以及芯片和电路板之间以菊花链形式连接。JTAG支持调试和边界扫描操作。

还有  SWD适配器  支持串行线调试(SWD)信令以与一些较新的ARM内核通信,以及支持JTAG和SWD传输的调试适配器。SWD仅支持调试,而JTAG也支持边界扫描操作。

对于某些芯片,还有  编程适配器  支持仅用于将代码写入闪存的特殊传输,而不支持片上调试或边界扫描。(在撰写本文时,OpenOCD不支持此类非调试适配器。)

Dongles:  OpenOCD目前支持多种类型的硬件加密狗:基于USB的,基于并行端口的,以及其他在内部运行OpenOCD的独立盒子。见  调试适配器硬件

GDB调试:  它允许ARM7(ARM7TDMI和ARM720t),ARM9(ARM920T,ARM922T,ARM926EJ-S,ARM966E-S),XScale(PXA25x,IXP42x),Cortex-M3(Stellaris LM3,ST STM32和Energy Micro EFM32)和Intel基于Quark(x10xx)的内核将通过GDB协议进行调试。

闪存编程:  外部CFI兼容NOR闪存(Intel和AMD / Spansion命令集)和几个内部闪存(LPC1700,LPC1800,LPC2000,LPC4300,AT91SAM7,AT91SAM3U,STR7x,STR9x,LM3,STM32x和EFM32)支持闪存写入。包括对各种NAND闪存控制器(LPC3180,Orion,S3C24xx等)的初步支持。

OpenOCD网站

OpenOCD网站提供社区的最新公共新闻:

http://openocd.org/

最新用户指南:

您正在阅读的用户指南可能不是最新的。可以使用最新代码的版本。其HTML表单定期发布在:

http://openocd.org/doc/html/index.html

PDF表格同样发布于:

http://openocd.org/doc/pdf/openocd.pdf

OpenOCD用户论坛

有一个由SparkFun托管的OpenOCD论坛(phpBB),可能对您有所帮助。请注意,如果您希望任何事情引起开发人员的注意,您应该将其发布到OpenOCD开发人员邮件列表而不是此论坛。

http://forum.sparkfun.com/viewforum.php?f=18

OpenOCD用户的邮件列表

OpenOCD用户邮件列表提供了用户之间的主要通信方式:

https://lists.sourceforge.net/mailman/listinfo/openocd-user

OpenOCD IRC

也可以在irc:irc://irc.freenode.net/openocd上找到支持 

https://www.cnblogs.com/shangdawei/p/4756388.html

猜你喜欢

转载自blog.csdn.net/wxh0000mm/article/details/84787310