espressif / arduino-esp32

Arduino core for the ESP32
GNU Lesser General Public License v2.1
13.58k stars 7.4k forks source link

Investigate UART/CDC in all SoC #6765

Open SuGlider opened 2 years ago

SuGlider commented 2 years ago

@SuGlider I've now tested ESP32 Arduino 2.0.3 with a number of ESP32 boards, using a benchmark that involves uploading a program of about 1400 characters to my uLisp interpreter and then running it. The results are as follows:

Board Upload using UART Upload using USB CDC Benchmark
Adafruit Feather ESP32 OK Not available 8.0 s
ESP32-S2-Soala-1 OK Not available 5.7 s
Adafruit Feather ESP32-S2 Not available OK 2.7 s
Adafruit QT-PY ESP32-S2 Not available OK 2.7 s
Unexpected Maker Feather S2 Not available OK 2.7 s
ESP32-S3-DevKitM-1 OK Serial hangs up 6.1 s (USB)
ESP32-C3-DevKit1 OK Not available 7.8 s
Adafruit QT-PY ESP32-C3 Not available Serial hangs up ??

Key observations:

Any thoughts about why USB CDC is now OK on ESP32-S2 but not ESP32-S3 or ESP32-C3?

Also, any idea where there's such a difference in performance? My benchmark isn't making use of serial, except to print the result at the end.

Originally posted by @technoblogy in https://github.com/espressif/arduino-esp32/issues/6221#issuecomment-1128950038

SuGlider commented 2 years ago

@technoblogy Let's continue it here.

technoblogy commented 2 years ago

Thanks.

egnor commented 2 years ago

probably unrelated? https://github.com/espressif/esp-idf/issues/9318 (at a guess, that bug is user-app-specific, this bug is Arduino-runtime-specific)

SuGlider commented 2 years ago

Thanks @egnor for the reference. I'll take it into consideration for the S3 USB Serial JTAG interface.

SuGlider commented 1 year ago

@all

Examples about UART controlling are at PR #7412