From 501471bf790b49017de34154e7d171c3533bcd41 Mon Sep 17 00:00:00 2001 From: Song Ruo Jing Date: Fri, 3 Jul 2026 15:41:59 +0800 Subject: [PATCH] fix(stdio): add console input ability when selects ESP_CONSOLE_UART_CUSTOM_NUM_1 --- components/bootloader_support/src/bootloader_console.c | 7 ++++--- components/esp_system/port/cpu_start.c | 3 +++ tools/test_apps/system/build_test/sdkconfig.ci.custom_uart | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/components/bootloader_support/src/bootloader_console.c b/components/bootloader_support/src/bootloader_console.c index e5769d71201..f25937c5047 100644 --- a/components/bootloader_support/src/bootloader_console.c +++ b/components/bootloader_support/src/bootloader_console.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2020-2025 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2020-2026 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -62,8 +62,9 @@ void bootloader_console_init(void) const int uart_tx_gpio = (CONFIG_ESP_CONSOLE_UART_TX_GPIO >= 0) ? CONFIG_ESP_CONSOLE_UART_TX_GPIO : UART_NUM_0_TXD_DIRECT_GPIO_NUM; const int uart_rx_gpio = (CONFIG_ESP_CONSOLE_UART_RX_GPIO >= 0) ? CONFIG_ESP_CONSOLE_UART_RX_GPIO : UART_NUM_0_RXD_DIRECT_GPIO_NUM; - // Switch to the new UART (this just changes UART number used for esp_rom_printf in ROM code). - esp_rom_output_set_as_console(uart_num); + // Switch to the new UART + esp_rom_output_set_as_console(uart_num); // changes UART number used for esp_rom_printf in ROM code + esp_rom_output_switch_buffer(uart_num); // If console is attached to UART1 or if non-default pins are used, // need to reconfigure pins using GPIO matrix diff --git a/components/esp_system/port/cpu_start.c b/components/esp_system/port/cpu_start.c index 4471a46eaf9..25d6ea33bb3 100644 --- a/components/esp_system/port/cpu_start.c +++ b/components/esp_system/port/cpu_start.c @@ -232,6 +232,9 @@ void IRAM_ATTR call_start_cpu1(void) #elif !CONFIG_ESP_CONSOLE_USB_CDC esp_rom_install_uart_printf(); esp_rom_output_set_as_console(CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM); +#if CONFIG_ESP_CONSOLE_UART_CUSTOM + esp_rom_output_switch_buffer(CONFIG_ESP_CONSOLE_UART_NUM); +#endif #endif #if CONFIG_IDF_TARGET_ESP32 diff --git a/tools/test_apps/system/build_test/sdkconfig.ci.custom_uart b/tools/test_apps/system/build_test/sdkconfig.ci.custom_uart index 80ed1761ac2..56ee759e76b 100644 --- a/tools/test_apps/system/build_test/sdkconfig.ci.custom_uart +++ b/tools/test_apps/system/build_test/sdkconfig.ci.custom_uart @@ -1 +1,2 @@ CONFIG_ESP_CONSOLE_UART_CUSTOM=y +CONFIG_ESP_CONSOLE_UART_CUSTOM_NUM_1=y