Skip to main content
Lead
January 15, 2026
Solved

Change ROM boot USART6 pins?

  • January 15, 2026
  • 1 reply
  • 343 views

I have a STM32MP257 custom board and I'm listening on UART6.

When I boot, I get nothing. No messages or other text. I have not yet implemented any Linux onto my SD-card.

The issue is that I have my USART6 boot pins on PF13 and PF14, instead of PF4 and PF5. Are there any way to change this in ROM?

Or do I need to load TF-A from my SD-card so TF-A can change USART6 pins?

Best answer by PatrickF

hi @DMårt 

 

not to confuse two different things

  1. ROM code serial boot (USB + UART) 
    ROM code listen on USB and UART pins according to https://wiki.st.com/stm32mpu/wiki/STM32_MPU_ROM_code_overview#UART_Boot.
    ROM code does not output anything on UART TX until connected to CubeProgrammer (receiving specific data on RX pins. The pin mapping is fixed in ROM code.
    In serial boot mode, using UART is only relevant as fallback when USB is not working during early board bring up or very specific cases.

  2. ROM code FLASH Boot (eMMC, NOR, SD-Card, etc..)
    ROM code does not make use of neither USB nor UART pins.
    ROM code only load/check TF-A from the given FLASH into SYSRAM and run it.
    The TF-A can use any UART pins as console output (this is defined in Device Tree).
    Same for uBoot and Linux.

It is for the sake of ease of use that our boards uses same UART pins for Console than the ones fixed for serial boot (i.e. USART2 PA8/PA4). This is not mandatory.

Regards.

 

1 reply

PatrickF
PatrickFBest answer
Technical Moderator
January 16, 2026

hi @DMårt 

 

not to confuse two different things

  1. ROM code serial boot (USB + UART) 
    ROM code listen on USB and UART pins according to https://wiki.st.com/stm32mpu/wiki/STM32_MPU_ROM_code_overview#UART_Boot.
    ROM code does not output anything on UART TX until connected to CubeProgrammer (receiving specific data on RX pins. The pin mapping is fixed in ROM code.
    In serial boot mode, using UART is only relevant as fallback when USB is not working during early board bring up or very specific cases.

  2. ROM code FLASH Boot (eMMC, NOR, SD-Card, etc..)
    ROM code does not make use of neither USB nor UART pins.
    ROM code only load/check TF-A from the given FLASH into SYSRAM and run it.
    The TF-A can use any UART pins as console output (this is defined in Device Tree).
    Same for uBoot and Linux.

It is for the sake of ease of use that our boards uses same UART pins for Console than the ones fixed for serial boot (i.e. USART2 PA8/PA4). This is not mandatory.

Regards.

 

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.NEW ! Sidekick STM32 AI agent, see here
DMårtAuthor
Lead
January 16, 2026

Hi @PatrickF

This clarifying much!

Well, it seems to be all in order then. I just need to deploy TF-A to make USART6 speak.

 

By the way. Your URL link says that USART6 having the pins PC4 and PC0. That's differ from getting started manual of the MP257.

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-ComputerSTM32MP257FAK3 custom board with STM64-OS as operating system: https://github.com/DanielMartensson/STM64-Computer
PatrickF
Technical Moderator
January 16, 2026

@DMårt wrote:

By the way. Your URL link says that USART6 having the pins PC4 and PC0. That's differ from getting started manual of the MP257.


could you please capture the issue on your side, on my side I see it aligned (sometimes internally we see ongoing edits views of the wiki pages, but seems not the case here).

PatrickF_0-1768551332884.png

Regards,

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.NEW ! Sidekick STM32 AI agent, see here