Site icon Elektrologi

Debugging ESP32 Dengan FT2232HL

ESP32 dan CJMCU-2232HL

Mikrokontroler/mikroprosesor berbasis ESP32 mempunyai fitur on-chip-debugging dengan protokol JTAG. Supaya ESP32 ini dapat didebug, maka perlu ada komponen JTAG Adapter. Petunjuk pemilihan JTAG adapter terdapat di artikel “Selecting JTAG Adapter“. Cara termudah adalah menggunakan board ESP32-WROVER-KIT yang sudah mempunyai JTAG adapter di dalamnya. Cara lain adalah menambahkan JTAG adapter pada board ESP32 yang belum dilengkapi dengan JTAG Adapter. Daftar JTAG Adapter yang dapat dipakai dapat dilihat antara lain di artikel “Debug Adapter Hardware“.

Pada tulisan ini diuraikan cara menyambungkan ESP32 ke JTAG Adapter berbasis FT2232HL.

Cara termudah melakukan debugging pada ESP32 adalah menggunakan board ESP32-WROVER-KIT yang sudah ada JTAG Adapter built-in di dalamnya. Sayangnya harga board ini agak mahal (sekitar USD 50). Jika Espressif sendiri menggunakan FT2232 untuk JTAG Adapter, nampaknya kemampuan FT2232 cukup bagus sebagai debugger.

Harga board ESP32 yang murah sekitar USD 7, sedangkan breakout board untuk FT2232 harganya sekitar USD 7, jadi dengan USD 14 sudah memperoleh ESP32 lengkap dengan JTAG debugger. Hanya saja perlu merangkai sendiri ESP32 dengan FT2232.

Hardware

Berikut ini teknik penyambungan ESP32 ke FT2232 menurut beberapa sumber.

#1 Analisis Skematik ESP32 WROVER KIT

Contoh cara menyambungkan antara ESP32 dengan FT2232 dapat dilihat dari skematik ESP32 WROVER KIT di situs Espressif. Berikut ini adalah pin JTAG pada ESP32, yaitu:

Pin JTAG pada ESP32

Berikut ini adalah bagian dari skematik ESP32 WROVER KIT, khususnya yang tersambung ke JTAG. Pin yang dipakai adalah ADBUS0, ADBUS1, ADBUS2, ADBUS3, ACBUS1, yang tersambung ke sinyal TCK, TDI, TDO, TMS dan R_RST

Pin JTAG pada FT2232HL

Tabel berikut berisi hasil analisis daftar pin dan sinyal JTAG pada skematik ESP32 WROVER KIT tersebut:

Pin FT2232HLSinyalSinyalPin ESP32
ADBUS0TCKMTCKR_IO13
ADBUS1TDIMTDIR_IO12
ADBUS2TDOMTDOR_IO15
ADBUS3TMSMTMSR_IO14
ACBUS2RSTENR_nTRST

#2 Situs PlatformIO

Penyambungan JTAG juga dijelaskan di situs PlatformIO sebagai berikut:

FT2232H Mini-Module PinBoard JTAG PinDescription
GND [CN2-2]GNDDigital ground
AD0 [CN2-7]TCKJTAG Return Test Clock
AD1 [CN2-10]TDITest Data In
AD2 [CN2-9]TDOTest Data Out
AD3 [CN2-12]TMSTest Mode State
AC2 [CN2-20]RESETConnect this pin to the (active low) reset input of the target CPU (EN for ESP32)

Sumber: http://docs.platformio.org/en/latest/plus/debug-tools/minimodule.html

Modul FT2232 yang dipakai pada artikel tersebut adalah “FT2232H Mini Module” yang diproduksi oleh FTDI.

FT2232H Mini Modul

Produk breakout board serupa juga dibuat oleh CJMCU seperti pada foto berikut:

CJMCU-2232HL

#3 Forum Platformio

Sebagai perbandingan, berikut ini daftar koneksi JTAG ke ESP32 menurut artikel forum PlatformIO (Debugging ESP32 – How), modul FT2232 yang digunakan adalah “FTDI2232 minimodule”:

To debug ESP32 using FTDI2232 minimodule, here is the required connection:
FTDI AD0 -> ESP32 GPIO13 (TCK)
FTDI AD1 -> ESP32 GPIO12 (TDI)
FTDI AD2 -> ESP32 GPIO15 (TDO)
FTDI AD3 -> ESP32 GPIO14 (TMS)
FTDI AC2 -> ESP32 EN (RST)
FTDI GND -> ESP32 GND

Sumber: https://community.platformio.org/t/debugging-esp32-how/4499

#4 Datasheet FT2232H

Penggunaan FT2232H sebagai JTAG juga dijelaskan secara ringkas di datasheet FT2232H sebagai berikut:

Konfigurasi pin FT2232H

Software

Setelah mendapatkan kepastian cara menyambungkan hardware JTAG debugger, selanjutnya adalah setting software untuk melakukan debugging.

Status saat ini baru melakukan studi software apa saja yang perlu disiapkan. Beriktu ini penjelasan software untuk debugging ESP32:

Hasil debugging menyusul.

Kesimpulan

Kesimpulan sementara ini:

Referensi

Exit mobile version