From 744ce66135b5eeba3002ee8b4f5bc41b0361c07d Mon Sep 17 00:00:00 2001 From: Alan Carvalho de Assis Date: Sat, 11 Oct 2025 16:01:39 -0300 Subject: [PATCH] arch/stm32: Only compile stm32_serial.c when STM32_USART is enabled When SEMIHOST_SYSLOG is enabled it creates its own up_putc() function however the stm32_serial.c also creates this same function, even when all STM32_USARTs are disabled. Fix patch fixes this issue. Signed-off-by: Alan C. Assis --- arch/arm/src/stm32/CMakeLists.txt | 5 ++++- arch/arm/src/stm32/Make.defs | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/arch/arm/src/stm32/CMakeLists.txt b/arch/arm/src/stm32/CMakeLists.txt index 5b01b939e68..e193c424b57 100644 --- a/arch/arm/src/stm32/CMakeLists.txt +++ b/arch/arm/src/stm32/CMakeLists.txt @@ -35,7 +35,6 @@ list( stm32_flash.c stm32_irq.c stm32_lowputc.c - stm32_serial.c stm32_spi.c stm32_i2s.c stm32_sdio.c @@ -46,6 +45,10 @@ list( stm32_capture.c stm32_dfumode.c) +if(CONFIG_STM32_USART) + list(APPEND SRCS stm32_serial.c) +endif() + if(CONFIG_STM32_DMA) list(APPEND SRCS stm32_dma.c) endif() diff --git a/arch/arm/src/stm32/Make.defs b/arch/arm/src/stm32/Make.defs index f72686498f0..fe8e29dfe33 100644 --- a/arch/arm/src/stm32/Make.defs +++ b/arch/arm/src/stm32/Make.defs @@ -25,10 +25,14 @@ include armv7-m/Make.defs CHIP_CSRCS = stm32_allocateheap.c stm32_start.c stm32_rcc.c stm32_lse.c CHIP_CSRCS += stm32_lsi.c stm32_gpio.c stm32_exti_gpio.c stm32_flash.c CHIP_CSRCS += stm32_irq.c stm32_lowputc.c -CHIP_CSRCS += stm32_serial.c stm32_spi.c stm32_i2s.c stm32_sdio.c stm32_tim.c +CHIP_CSRCS += stm32_spi.c stm32_i2s.c stm32_sdio.c stm32_tim.c CHIP_CSRCS += stm32_waste.c stm32_ccm.c stm32_uid.c stm32_capture.c CHIP_CSRCS += stm32_dfumode.c +ifeq ($(CONFIG_STM32_USART),y) +CHIP_CSRCS += stm32_serial.c +endif + ifeq ($(CONFIG_STM32_DMA),y) CHIP_CSRCS += stm32_dma.c endif