cancel
Showing results for 
Search instead for 
Did you mean: 

Change ROM boot USART6 pins?

DMårt
Lead

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?

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer

STM32MP257FAK3 custom board with STM64-OS as operating system: https://github.com/DanielMartensson/STM64-Computer
1 ACCEPTED SOLUTION

Accepted Solutions
PatrickF
ST Employee

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

View solution in original post

5 REPLIES 5
PatrickF
ST Employee

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

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-Computer

STM32MP257FAK3 custom board with STM64-OS as operating system: https://github.com/DanielMartensson/STM64-Computer

@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

Hi,

got it, the wiki page is outdated and the public visibility of the updates were missing. We are going to correct it asap.

Thanks for pointing that.

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

Hi @PatrickF 

When you're saying that tf-a could use usart6 as console output. The MP2RomTracesDump works perfectly for usart6. But why does not the device tree from CubeMX enable the output? I think that something informative about usart6 is missing at the wiki of MP2. It seems that everyone here facing issues when they try to enable usart6 from the device tree.

Edit:

But it's very intersting that op-tee cannot be configured for usart6 in CubeMX! And it's the ONLY usart/uart peripheral that cannot be configured by op-tee in CubeMX. Perhaps this will tell me something that I need to find another USART/UART port...

I will do some soldering and try to hook up some wiries for USART2. That will at least be working.

DMrt_0-1769730611572.png

 

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer

STM32MP257FAK3 custom board with STM64-OS as operating system: https://github.com/DanielMartensson/STM64-Computer