:link_to_translation:`en:[English]`
{IDF_TARGET_JTAG_SEL_EFUSE:default="Not Updated!", esp32s3="STRAP_JTAG_SEL", esp32c6="JTAG_SEL_ENABLE", esp32h2="JTAG_SEL_ENABLE"}
关于适配 OpenOCD 和 {IDF_TARGET_NAME} 的 JTAG 接口选择问题,请参考 :ref:`jtag-debugging-selecting-jtag-adapter` 章节。然后按照以下步骤进行设置,使其正常工作。
.. only:: SOC_USB_SERIAL_JTAG_SUPPORTED 配置 eFuse ^^^^^^^^^^^^^^^^ {IDF_TARGET_NAME} JTAG 接口默认连接至 :doc:`内置 USB_SERIAL_JTAG 外设 <configure-builtin-jtag>`。要使用外部 JTAG 适配器,需将 JTAG 接口切换至 GPIO 管脚。您可以使用 ``espefuse.py`` 工具来烧录 eFuse,以完成接口转换。 .. only:: esp32c3 烧录 ``DIS_USB_JTAG`` eFuse 后,USB_SERIAL_JTAG 和 {IDF_TARGET_NAME} 的 JTAG 接口之间的连接将被永久禁用,此后您可以将 JTAG 接口连接到 |jtag-gpio-list|。注意,烧录后,USB_SERIAL_JTAG 的 USB CDC 功能仍然可用,即仍然可以通过 USB CDC 进行烧录和查看日志。 .. only:: not esp32c3 - 烧录 ``DIS_USB_JTAG`` eFuse 后,USB_SERIAL_JTAG 和 {IDF_TARGET_NAME} 的 JTAG 接口之间的连接将被永久禁用,此后您可以将 JTAG 接口连接到 |jtag-gpio-list|。注意,烧录后,USB_SERIAL_JTAG 的 USB CDC 功能仍然可用,即仍然可以通过 USB CDC 进行烧录和查看日志。 - 烧录 ``{IDF_TARGET_JTAG_SEL_EFUSE}`` eFuse 后,JTAG 接口的选择将由 strapping 管脚 |jtag-sel-gpio| 来决定。{IDF_TARGET_NAME} 复位时,如果该 strapping 管脚为低电平,JTAG 接口将使用 |jtag-gpio-list|;如果为高电平,USB_SERIAL_JTAG 将被用作 JTAG 接口。 .. warning:: 请注意,烧录 eFuse 是一项不可逆的操作,请在开始前谨慎考虑以上选项。
- 找到 JTAG 接口和 {IDF_TARGET_NAME} 板上需要相互连接并建立通信的所有管脚或信号。
- 检查 {IDF_TARGET_NAME} 上用于 JTAG 通信的管脚是否被连接到了其它硬件上,这可能会影响 JTAG 的工作。
- 连接 {IDF_TARGET_NAME} 和 JTAG 接口上的管脚或信号。
您可能还需要安装软件驱动,才能使 JTAG 在计算机上正常工作,请参阅您所使用的 JTAG 适配器的有关文档,获取相关详细信息。
在 Linux 中,请务必将 udev 规则文件 复制到 /etc/udev/rules.d
目录中,以添加 OpenOCD udev 规则。
将 JTAG 接口连接到计算机,打开 {IDF_TARGET_NAME} 和 JTAG 接口板上的电源,然后检查计算机是否可以识别到 JTAG 接口。
如需继续设置调试环境,请前往 :ref:`jtag-debugging-run-openocd` 章节。