UART0 resource always busy after integrate MCU boot in our project

HI.

we're developing an application where we need to use 2 UART ports: UART: 0, 2, 3.

Before we added MCU boot in our project everything  worked well but after we integrated bootloader application cannot use the UART0. It's returning resource busy error every time when .

we try to transmit something. Configuration of UART 0 still works from application, only transmission fails.  

Snippet from prj.conf

config part for bootloader:

###########################################################
#Bootloader
###########################################################
CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_MCUBOOT_USE_ALL_AVAILABLE_RAM=y
CONFIG_MCUBOOT_IMG_MANAGER=y
# Enable MCUMGR
CONFIG_MCUMGR=y
# Enable MCUMGR management for both OS and Images
CONFIG_MCUMGR_GRP_OS=y
CONFIG_MCUMGR_GRP_IMG=y
# Configure MCUMGR transport to UART
CONFIG_MCUMGR_TRANSPORT_UART=y
# Dependencies
# Configure dependencies for CONFIG_MCUMGR  
CONFIG_NET_BUF=y
CONFIG_ZCBOR=y
CONFIG_CRC=y
# Configure dependencies for CONFIG_MCUMGR_GRP_IMG  
CONFIG_IMG_MANAGER=y

# Configure dependencies for CONFIG_IMG_MANAGER  
CONFIG_STREAM_FLASH=y
CONFIG_FLASH_MAP=y

# Configure dependencies for CONFIG_MCUMGR_TRANSPORT_UART
CONFIG_BASE64=y

CONFIG_BOARD_ENABLE_CPUNET=y

CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y

CONFIG_NRF53_UPGRADE_NETWORK_CORE=y
CONFIG_UPDATEABLE_IMAGE_NUMBER=2
CONFIG_ADD_MCUBOOT_MEDIATE_SIM_FLASH_DTS=y
# Enable the serial mcumgr transport.
CONFIG_UART_MCUMGR=y
###########################################################

There's certain action to do to free resources used by MCU boot?

  • Hello,

    Sorry, I was held up with some other work, which caused the delay in responding..

    [quote user="Deus Matei [EMERSON]"]My current issue with UART1 is that address range collides with I2C1. There's any way to assign a different address to the UART peripheric? 

    By the phrase "address range colliding," I assume that you are encountering a conflict in GPIO pin assignments between UART1 and I2C1. If both UART and I2C are using the same pin, then I recommend creating an overlay file and reassigning the pins for UART and I2C. If this is not the issue, could you provide more details on the problem, such as the error message or logs?

    [quote user="Deus Matei [EMERSON]"]Also because there's no mcuboot.overlay it will still use uart0 as DFU by wire? Please help to clarify this also

    Yes, it is true that MCUBoot typically uses UART0 for serial recovery. However, when the booting process is over or when MCUBoot has completed its tasks, the main application takes control. When the main application starts, the peripheral resources, including UART0, are effectively reset and re-initialized.

    Kind Regards,

    Abhijith

Related