Skip to main content
Associate
June 10, 2025
Solved

X-NUCLEO-GFX01M2 SPI frequency

  • June 10, 2025
  • 2 replies
  • 572 views

Hello,

I am currently using a X-NUCLEO-GFX01M2 screen to display logs from a NUCLEO-STM32WL55JC board. Unfortunately, it is quite slow to display the logs, so I wanted to improve the SPI frequency. I tested it by lowering the SPI BaudRatePrescaler from the nucleo board, but below 16, I noticed no improvements. When measuring the SPI clock, there is no improvement above roughly 3 MHz.

How can I improve the SPI link?

Moreover, there is nothing related to the max SPI frequency in any X-NUCLEO-GFX01M2 documentation. What is the max frequency the GFX01M2 screen can support?

 

Regards,

Sacha

Best answer by Andrew Neil

@sacha-usmb wrote:

I tried higher optimization levels and the result was much better (almost twice better with -O3)!


So the software is the bottleneck!

Are you using HAL?

 


@sacha-usmb wrote:

I don't use DMA but polling.


If you need further improvement, look into DMA...

2 replies

Andrew Neil
Super User
June 10, 2025

Surely, if increasing the SPI speed makes no difference, that suggests that the SPI is not the bottleneck?

What optimisation level are you using?

Are you using DMA?

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Associate
June 10, 2025

You are probably right that SPI is not the bottleneck.

I am using -O0 optimization. I tried higher optimization levels and the result was much better (almost twice better with -O3)!

I don't use DMA but polling.

Andrew Neil
Andrew NeilBest answer
Super User
June 10, 2025

@sacha-usmb wrote:

I tried higher optimization levels and the result was much better (almost twice better with -O3)!


So the software is the bottleneck!

Are you using HAL?

 


@sacha-usmb wrote:

I don't use DMA but polling.


If you need further improvement, look into DMA...

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
TDK
Super User
June 10, 2025

The max SPI speed will depend on the controller. Different versions of the board have different controllers. Refer to the board documentation to find out which controller you have, and refer to that for timing information.

"If you feel a post has answered your question, please click ""Accept as Solution""."
Associate
June 10, 2025

The board used is MB1642-TCXD022IB5-D01, but I did not manage yet to find the documentation and, hence, the controller for timing information. I'll keep searching.