大家好,欢迎来到IT知识分享网。
OpenOCD由Dominic Rath创建,作为2005年毕业论文的一部分 在奥格斯堡应用科学大学(http://www.hs-augsburg.de)。 从那时起,该项目已发展成为一个活跃的开源项目, 由来自世界各地。
一、什么是OpenOCD?
什么是OpenOCD
开放式片上调试器(OpenOCD)旨在提供调试,嵌入式目标的系统内编程和边界扫描测试设备。
它是在调试适配器的帮助下完成的,该适配器是一个小型硬件模块,有助于提供正确的类型向正在调试的目标发出电信号。这些是必需,因为调试主机(运行 OpenOCD 的主机)不会通常对此类信令或连接器具有本机支持需要连接到目标。
此类调试适配器支持一个或多个传输协议,每个都涉及不同的电信号(并使用在该信令之上的不同消息传递协议)。那里调试适配器的类型很多,没有统一性的名称。
这些适配器有时打包为离散加密狗,它们通常可以称为硬件接口加密狗。 一些开发板也直接集成它们,这可能会让开发板直接连接到调试通过 USB 主机(有时也通过 USB 为其供电)。
例如,JTAG适配器支持JTAG 信令,用于通信在目标板上使用符合 JTAG (IEEE 1149.1)标准的 TAP。 TAP是一个“测试访问端口”,一个处理特殊指令和数据的模块。TAP 以菊花链形式连接在和在芯片和电路板之间。JTAG支持调试和边界扫描操作。
还有支持串行线调试 (SWD) 的 SWD 适配器 与一些较新的 ARM 内核通信以及调试的信号同时支持 JTAG 和 SWD 传输的适配器。仅支持 SWD 调试,而JTAG支持边界扫描操作。
对于某些芯片,还有编程适配器用于将代码写入闪存的特殊传输,没有支持片上调试或边界扫描。 (在撰写本文时,OpenOCD 不支持此类非调试适配器)。
- 加密狗:OpenOCD目前支持多种类型的硬件加密狗: 基于 USB、基于并行端口和其他运行的独立机箱内部的OpenOCD。请参阅调试适配器硬件。
- GDB 调试:它允许ARM7(ARM7TDMI和ARM720t),ARM9(ARM920T, ARM922T, ARM926EJ–S, ARM966E–S), XScale (PXA25x, IXP42x), Cortex-M3 (Stellaris LM3、意法半导体STM32和Energy Micro EFM32)和 基于英特尔 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.libera.chat/openocd 上找到
2 调试适配器硬件
定义:加密狗:插入计算机并用作 一个适配器…[截图]
在 OpenOCD 的情况下,这通常是指一个小型适配器 通过 USB 或并行端口连接到计算机。
2.1 选择加密狗
选择加密狗时,您应该记住几件事。
2.2 基于 USB FT2232
市场上有许多USB JTAG加密狗,其中许多是基于 在“未来技术设备国际”(FTDI)的芯片上被称为FTDI FT2232;
这是一个USB全速(12 Mbps)芯片。 有关详细信息,请参阅:http://www.ftdichip.com。 在2009年夏季,这些FTDI的USB高速(480 Mbps)版本芯片开始在JTAG适配器中可用。
2012年左右,一个新的 变体出现 – FT232H – 这是FT2232H的单通道版本。 (使用这些高速FT2232H或FT232H芯片的适配器可能支持自适应 计时。
FT2232芯片足够灵活,可以支持其他一些芯片运输选项,例如 SWD 或用于 编程一些芯片。他们有两个沟通渠道, 一个可以同时用于UART适配器 另一个用于提供调试适配器。
此外,一些开发板集成了FT2232芯片作为 内置低成本调试适配器和 USB 转串行解决方案。
2.3 USB-JTAG / Altera USB-Blaster 兼容
这些设备也显示为 FTDI 设备,但不是 协议与FT2232设备兼容。然而,他们是 协议彼此兼容。USB-JTAG器件通常由 FT245后跟理解特定协议的CPLD, 或者使用其他一些硬件模拟此协议。
它们可能出现在不同的 USB VID/PID 下,具体取决于特定的 产品。驱动程序可以配置为搜索任何 VID/PID 对 (请参阅驱动程序命令部分)。
2.4 基于 USB J-Link
SEGGER J-Link 适配器有多个 OEM 版本。是的 基于微控制器的JTAG适配器的示例,它使用一个 AT91SAM764 内部。
2.5 基于 USB RLINK
Raisonance有一个名为RLink的适配器。它以精简的形式存在于STM32底漆上, 永久连接到JTAG线。它也存在于STM32 Primer2上,但连接用于 SWD而不是JTAG,因此不受支持。
2.6 USB ST-LINK based
意法半导体有一款名为ST-LINK的适配器。 它们仅适用于意法半导体芯片,特别是STM32和STM8。
2.7 USB TI/Stellaris ICDI 基于
德州仪器有一个名为ICDI的适配器。 不要与最初安装在其上的基于 FTDI 的适配器混淆 评估板。这是安装在Stellaris LaunchPad上的适配器。
2.8 USB CMSIS-DAP based
新唐有一个名为Nu-Link的适配器。 它既可作为独立加密狗提供,也可嵌入开发板上。 它支持SWD,串行端口桥接器和用于固件更新的大容量存储。 Nu-Link v1 和 v2 均受支持。
2.9 基于 USB CMSIS-DAP
ARM发布了一个名为CMSIS-DAP的接口标准,简化了连接 基于 ARM Cortex 的目标的调试器 http://www.keil.com/support/man/docs/dapdebug/dapdebug_introduction.htm。
2.10 其他
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/118703.html