Tres piezas: - _arduino_board_flags lee <id>.build.board y <id>.build.cdc_on_boot de boards.txt (cache, mismo patron que _arduino_variant). - Cada compile escribe velxio_board.cmake (incluido OPTIONAL por el CMakeLists ANTES de project(), asi los defines llegan a TODOS los componentes — que Serial sea el CDC se decide dentro del core Arduino): ARDUINO_<BOARD> siempre que boards.txt lo nombre (los sketches de vendor hacen #ifdef ARDUINO_XIAO_ESP32S3), y ARDUINO_USB_CDC_ON_BOOT=1 + ARDUINO_USB_MODE=1 cuando cdc_on_boot=1. USB_MODE va FORZADO a 1 (HWCDC por USB-Serial-JTAG, la opcion de menu USBMode=hwcdc): el motor modela esa consola, no la pila OTG/TinyUSB. Ir por archivo y no por env hace el flag dependencia de configure: CMake reconfigura al cambiar. - CONFIG_ESP_CONSOLE_SECONDARY_NONE en el sdkconfig: sin ella el ROM/IDF espejan cada byte de log al USB y el monitor unico del emulador (que mezcla ambos streams) mostraria el log entero dos veces en builds CDC. |
||
|---|---|---|
| .. | ||
| main | ||
| CMakeLists.txt | ||
| partitions.csv | ||
| sdkconfig.defaults | ||
| sdkconfig.defaults.in | ||