Skip to main content
MNiko.3
Associate
October 19, 2020
Solved

Control LTDC on STM32MP157 by Cortex M4?

  • October 19, 2020
  • 2 replies
  • 1273 views

Is it possible to control LTDC on STM32MP157 by Cortex M4 co-processor?

I have noticed that there is no available HAL driver for LTDC on STM32MP157.

Why is it so? Can we use the HAL driver for LTDC intended for STM32H7 processors on STM32MP157?

This topic has been closed for replies.
Best answer by PatrickF

Hello,

as stated in this page, in our ecosystem deliveries, LTDC is only supported on Cortex-A7 (e.g. Linux) side.

What is the use case to have Cortex-M4 to handle the LTDC ? The frame buffer is usually in DDR, which is also managed by Cortex-A7 side. Would probably be complex to access it concurrently from M4 (and the location of frame buffer in the DDR address range is maybe not fixed when using Linux)

For HW point of view, the LTDC registers are accessible by Cortex-M4, but it is up to you to manage the init (using H7 driver might flight, but I remind not supported/tested on STM32MP1 series).

Accessing Framebuffer in DDR from Cortex-M4 is quite inneficient (due to Cortex-M4 AHB accesses and clock domain crossing) and can impact Cortex-A7 side performances.

If you want to put a small display on Cortex-M4 side, maybe it is worth to look at FMC parallel display or I2C/SPI interfaces. Slower but more independent and using less system resources.

Regards.

2 replies

PatrickF
PatrickFBest answer
Technical Moderator
October 19, 2020

Hello,

as stated in this page, in our ecosystem deliveries, LTDC is only supported on Cortex-A7 (e.g. Linux) side.

What is the use case to have Cortex-M4 to handle the LTDC ? The frame buffer is usually in DDR, which is also managed by Cortex-A7 side. Would probably be complex to access it concurrently from M4 (and the location of frame buffer in the DDR address range is maybe not fixed when using Linux)

For HW point of view, the LTDC registers are accessible by Cortex-M4, but it is up to you to manage the init (using H7 driver might flight, but I remind not supported/tested on STM32MP1 series).

Accessing Framebuffer in DDR from Cortex-M4 is quite inneficient (due to Cortex-M4 AHB accesses and clock domain crossing) and can impact Cortex-A7 side performances.

If you want to put a small display on Cortex-M4 side, maybe it is worth to look at FMC parallel display or I2C/SPI interfaces. Slower but more independent and using less system resources.

Regards.

In order to give better visibility on the answered topics, please click on 'Best Answer' on the reply which solved your issue or answered your question.Tip of the day: Try Sidekick STM32 AI agent
MNiko.3
MNiko.3Author
Associate
October 19, 2020

Hello Patrick,

Thank you very much for your fast, precise and complete answer.

We shall move LTDC control on Cortex-A7 side.

Best regards,

Marko Nikolic

PatrickF
Technical Moderator
October 20, 2020

Please click on 'Select as Best' if my reply solved your issue or answered your question.

In order to give better visibility on the answered topics, please click on 'Best Answer' on the reply which solved your issue or answered your question.Tip of the day: Try Sidekick STM32 AI agent