Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP32 JTAG

USB and WiFi JTAG "cable" for FPGA

USB: Simulate a FT2232H Device

WiFi: Act as an XVC server

JTAG: HW SPI master and SPI slave in byte mode shifting, GPIO in bit mode shifting

Feature

  • High speed shifting, with WiFi speeds up to 5M
  • Clock adaptable

Test

HW: ESP32S2 <=> SN74AVC4T774 <=> XC7K480T

Vivado XVC

Sofware Development Environment

ESP-IDF in VSCode

Hardware

ESP32

Any ESP32 with SPI master and slave controller. The SPI clock is connected through the internal mux.

JTAG Wiring

⚠️Level shifting is required. IC: SN74AVC4T774, etc.

// esp32_jtag_idf/main/jtag_dev.c
#define PIN_NUM_JTAG_TDI 39
#define PIN_NUM_JTAG_TDO 40
#define PIN_NUM_JTAG_TCK 41
#define PIN_NUM_JTAG_TMS 42

Button

// esp32_jtag_idf/main/user_io.c
#define GPIO_NUM_SW2 BOOT_BUTTON_NUM
#define GPIO_NUM_SW3 26
#define GPIO_NUM_SW4 21
#define BUTTON_ACTIVE_LEVEL 0

GPIO_NUM_SW2: WiFi configuration

GPIO_NUM_SW3: USB mode

GPIO_NUM_SW4: XVC mode

LED

WS2812

// esp32_jtag_idf/main/user_io.c
#define RMT_LED_STRIP_GPIO_NUM 18

Red Blink: Waiting for mode selection

Blue Blink: Waiting for connection in XVC mode

Blue: XVC mode connected

Green: USB mode

Mode Selection

  1. Restart
  2. Red Blink
  3. Press GPIO_NUM_SW3 to enter USB mode, press GPIO_NUM_SW4 to enter XVC mode

WiFi Configuration

  1. Restart
  2. Red Blink
  3. Press and hold GPIO_NUM_SW2, then press GPIO_NUM_SW4
  4. Connect to hotspot ESP32_xxxx
  5. Setup in http://192.168.4.1

ref

FTDI

AN_201_FT-X MTP Memory Configuration.pdf

AN_108_Command_Processor_for_MPSSE_and_MCU_Host_Bus_Emulation_Modes.pdf

https://github.com/sipeed/RV-Debugger-BL702

ESP32S2

esp32-s2_datasheet_cn.pdf

esp32-s2_technical_reference_manual_cn.pdf

About

ESP32 wireless vivado JTAG via XVC

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages