ESP32-S3 setup external jtag
Posted: Wed Mar 23, 2022 10:57 am
Dear,
I would like to ask how to enable the external JTAG(ESP-PROG). At default the efuse bits are set to EFUSE_STRAP_JTAG_SEL=1, FUSE_DIS_USB_JTAG=0, EFUSE_DIS_PAD_JTAG=0, this means that the selection is made on the state of GPIO3, for which we use a pull-up. This should mean "USB Serial/JTAG controller" is selected and I suppose its the external JTAG?
However, at this point the external JTAG didn't work, but after trying the on-chip JTAG, I could successfully connect. This was the first strange behaviour.
Then we have tried to set EFUSE_DIS_PAD_JTAG=1, which should set the external JTAG regardless to the state of GPIO3.
In the efuse table nothing matches exactly this name as it is stated in the datasheet and where the most similar have been:
DIS_USB_JTAG (BLOCK0) Disable usb_serial_jtag-to-jtag function = True R/W (0b1)
DIS_USB_SERIAL_JTAG (BLOCK0) Disable usb_serial_jtag module = False R/W (0b0)
and as it is visible we have set the DIS_USB_JTAG=1. After this we could neither anymore connect through the on-chip JTAG, neither the external JTAG.
Can you please speficfy which efuses are referred to the external JTAG and which to the on-chip, or where is the catch that its imposible to make the external JTAG work?
I would like to ask how to enable the external JTAG(ESP-PROG). At default the efuse bits are set to EFUSE_STRAP_JTAG_SEL=1, FUSE_DIS_USB_JTAG=0, EFUSE_DIS_PAD_JTAG=0, this means that the selection is made on the state of GPIO3, for which we use a pull-up. This should mean "USB Serial/JTAG controller" is selected and I suppose its the external JTAG?
However, at this point the external JTAG didn't work, but after trying the on-chip JTAG, I could successfully connect. This was the first strange behaviour.
Then we have tried to set EFUSE_DIS_PAD_JTAG=1, which should set the external JTAG regardless to the state of GPIO3.
In the efuse table nothing matches exactly this name as it is stated in the datasheet and where the most similar have been:
DIS_USB_JTAG (BLOCK0) Disable usb_serial_jtag-to-jtag function = True R/W (0b1)
DIS_USB_SERIAL_JTAG (BLOCK0) Disable usb_serial_jtag module = False R/W (0b0)
and as it is visible we have set the DIS_USB_JTAG=1. After this we could neither anymore connect through the on-chip JTAG, neither the external JTAG.
Can you please speficfy which efuses are referred to the external JTAG and which to the on-chip, or where is the catch that its imposible to make the external JTAG work?