樂(lè)鑫 ESP USB Bridge 項(xiàng)目介紹
ESP USB Bridge (https://github.com/espressif/esp-usb-bridge)?是一個(gè)?ESP-IDF (https://github.com/espressif/esp-idf) 項(xiàng)目,能夠利用?ESP32-S2 (https://www.espressif.com/zh-hans/products/socs/esp32-s2) 或 ESP32-S3 (https://www.espressif.com.cn/zh-hans/products/socs/esp32-s3) 在計(jì)算機(jī) (PC) 和目標(biāo)微控制器 (MCU) 之間建立橋接,從而替代 USB 轉(zhuǎn) UART /JTAG 橋接芯片(例如 CP210x)。
以下是 ESP USB Bridge 的概念框圖:

ESP USB Bridge 創(chuàng)建了一個(gè)復(fù)合 USB 設(shè)備,可以通過(guò) USB 電纜被計(jì)算機(jī)訪問(wèn)。以下是其主要應(yīng)用場(chǎng)景:
串口橋接:開(kāi)發(fā)者可以運(yùn)行?esptool (https://github.com/espressif/esptool)?或其他串口終端程序連接到 ESP USB Bridge CDC 功能提供的串口上。通過(guò)它實(shí)現(xiàn) PC 和目標(biāo) MCU 之間的雙向通信。
JTAG 橋接:可以在 PC 上運(yùn)行?openocd-esp32 (https://github.com/espressif/openocd-esp32),與 ESP USB Bridge JTAG 功能相連,作為 PC 和 MCU 之間的橋梁,實(shí)現(xiàn)兩者之間的雙向 JTAG 通信。
大容量存儲(chǔ)設(shè)備:可以通過(guò) PC 的文件瀏覽器訪問(wèn) ESP USB Bridge MSC 功能創(chuàng)建的磁盤,把 UF2 格式的二進(jìn)制文件復(fù)制到這個(gè)磁盤后,將使用它們來(lái)燒錄目標(biāo) MCU。目前,ESP USB Bridge 支持燒錄各種樂(lè)鑫微控制器。
注意,上述 readme 文件僅使用 ESP32-S2 作為示例,ESP USB Bridge 也支持 ESP32-S3。

如何編譯項(xiàng)目
用戶需要使用?ESP-IDF v4.3 (https://github.com/espressif/esp-idf/tree/v4.3)?或更新版本編譯該項(xiàng)目。
使用?idf.py menuconfig?改變默認(rèn)配置。項(xiàng)目的具體設(shè)置在“橋接配置”的子菜單中;
使用?idf.py build?構(gòu)建項(xiàng)目的二進(jìn)制文件;
使用?idf.py -p PORT flash monitor?將燒錄 ESP32-S2 并打開(kāi)終端程序進(jìn)行監(jiān)控。注意,PORT 是指由連接到 ESP32-S2 串口的 USB 轉(zhuǎn) UART 芯片所創(chuàng)建的串口,不是 ESP32-S2 直接提供的 USB 接口,這個(gè)串口只能用于燒錄。此后,ESP USB Bridge 即可通過(guò) USB 接口工作。

開(kāi)發(fā)板
原理圖 (https://github.com/espressif/esp-usb-bridge/blob/master/images/schematics.pdf) 中展示了一個(gè)將 ESP32-S2 (ESP USB Bridge) 與目標(biāo) MCU (ESP32) 相連的簡(jiǎn)單開(kāi)發(fā)板。項(xiàng)目的默認(rèn)配置已使用此特定設(shè)置進(jìn)行了測(cè)試。
ESP USB Bridge 也可以用于生產(chǎn)和燒錄其他類似的開(kāi)發(fā)板。引腳編號(hào)、供應(yīng)商 ID、產(chǎn)品 ID,以及任何其他設(shè)置都可以在 idf.py menuconfig 中進(jìn)行修改。
請(qǐng)注意,每塊開(kāi)發(fā)板都應(yīng)有自己的供應(yīng)商 ID 和產(chǎn)品 ID。您可以在樂(lè)鑫 USB Vendor PID 倉(cāng)庫(kù) (https://github.com/espressif/usb-pids) 注冊(cè)產(chǎn)品 ID。
請(qǐng)前往?GitHub (https://github.com/espressif/esp-usb-bridge)?獲取更多關(guān)于 ESP USB Bridge 的細(xì)節(jié)。