Skip to main content
Associate III
February 10, 2026
Question

STM32H735G-DK can't change pixel format mode

  • February 10, 2026
  • 1 reply
  • 167 views

Hello,

I'm working on the STM32H735G-DK and try to change LTDC pixel format mode on the fly, but it doesn't work. I'm using the BSP example from example board pack in CubeMX for this board. After reset is possible setup the first time pixel format, but whatever I did after it never work. I tried even did full deinit with HAL_Deinit(), but it simply doesn't work. Pckage version is STM32Cube_FW_H7_V1.12.1

For example this functionality (changing LTDC pixel format) working without any problem on the STM32U5G9J-DK2.

 

The main() function where I tried doing this looks like:

int main(void)
{
 MPU_Config();
 CPU_CACHE_Enable();
 HAL_Init();

 /* Configure the system clock to 520 MHz */
 SystemClock_Config()
 HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSE, RCC_MCODIV_1);
 BSP_LED_Init(LED1);

 /*##-1- Initialize the LCD #################################################*/
 /* Initialize the LCD */
 //BSP_LCD_Init(0, LCD_ORIENTATION_LANDSCAPE);
 BSP_LCD_InitEx(0, 1, LCD_PIXEL_FORMAT_RGB565, 480, 272);
 UTIL_LCD_SetFuncDriver(&LCD_Driver);


 uint32_t * pBuffAddr = (uint32_t*) 0x70000000; // clr buff addr
 uint8_t * pFrameAddr = (uint8_t* ) 0x70000000; // read pic into

 // clear 2 framebuffers size
 for(uint32_t i = 0; i < (480*272*2);i++){
 	pBuffAddr[i] = 0;
 }
 BSP_LCD_SetBrightness(0, 100); // 0-100%

 BSP_OSPI_NOR_Init_t Flash;


 BSP_OSPI_NOR_DeInit(0);
 Flash.InterfaceMode = BSP_OSPI_NOR_OPI_MODE;
 Flash.TransferRate = BSP_OSPI_NOR_DTR_TRANSFER;
 BSP_OSPI_NOR_Init(0, &Flash);


 BSP_OSPI_NOR_Read(0, pFrameAddr, 0, 261120);
 BSP_OSPI_NOR_DeInit(0);

 HAL_Delay(1111);

 // clear 2 framebuffers size
 for(uint32_t i = 0; i < (480*272*2);i++){
 	pBuffAddr[i] = 0;
 }
 //-------------------------------------------------
 //- below unsuccessful try to change pixel format -
 //-------------------------------------------------
 BSP_LCD_DeInit(0);
 BSP_LCD_Init(0, LCD_ORIENTATION_LANDSCAPE);
 BSP_LCD_SetBrightness(0, 100); // 0-100%
 UTIL_LCD_SetFuncDriver(&LCD_Driver);
 

 // clear 2 framebuffers size
 for(uint32_t i = 0; i < (480*272*2);i++){
 	pBuffAddr[i] = 0;
 }
 //-------------------------------------------------
 //-------------------------------------------------
 //-------------------------------------------------

extern void main_app(void);
 while(1) {
	 __NOP();
	 main_app();
 }
}

 

added video how it behavior:

 

 

 

1 reply

MOBEJ
ST Employee
April 6, 2026

Hello @wegi01 ,

For STM32H735G-DK, did you try the LTDC example from STM32CubeH7 GitHub site ?

For STM32U5, which  example are you using ,BSP examples ?  and what exact changes did you make (clock, LTDC timings, framebuffer, pixel format, etc.)?

Br

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.
wegi01Author
Associate III
April 6, 2026

Hello,

 

I used the BSP example stored in firmware Cube pack for STM32U5 MCU. It doesn't have the ioc file for manipulate setup values. All setup/clock and so on values are hardcoded directly in this example.

 

I didn't change clock just I tried change LTDC pixel format without success as I mentioned. 

BR