Skip to main content
Heinz_Baumer
Associate II
November 21, 2025
Solved

Problems Initializing NEMA_GFX with LVGL on the STM32H7S78-DK

  • November 21, 2025
  • 1 reply
  • 238 views

Hello.

I'm trying to get the LVGL library running on the STM32H7S78.

The simple DMA2D variant (LV_USE_DRAW_DMA2D) with 16-bit color depth works perfectly, but it's not very performant.

 

Therefore, I'm trying to get the LV_USE_NEMA_GFX variant running instead.

The basis is LVGL version V9.3, which already runs on an STM32U5 with NEMA_GFX.

However, the problem is that it always crashes during initialization in lv_draw_nema_gfx_init().

lv_draw_nema_gfx_unit_t * draw_nema_gfx_unit = lv_draw_create_unit(sizeof(lv_draw_nema_gfx_unit_t));



 /*Initiallize NemaGFX*/
 nema_init();

 draw_nema_gfx_unit->base_unit.dispatch_cb = nema_gfx_dispatch;
 draw_nema_gfx_unit->base_unit.evaluate_cb = nema_gfx_evaluate;
 draw_nema_gfx_unit->base_unit.delete_cb = nema_gfx_delete;
 draw_nema_gfx_unit->base_unit.name = "NEMA_GFX";

 /*Create GPU Command List*/
 draw_nema_gfx_unit->cl = nema_cl_create();

 /*Bind Command List*/
 nema_cl_bind_circular(&(draw_nema_gfx_unit->cl));

 

After calling nema_cl_bind_circular(), the processor jumps to address 0x00000000 or 0xFFFFFFFE.

Since there are no source code for libnemagfx-float-abi-hard.a (used from TouchGFX for the M7), I can't debug the cause of the error.

 

Does anyone know what could cause an error when calling nema_cl_bind_circular()?

There is plenty of memory available.

I've already moved the nemagfx_pool_mem to PSRAM and, for testing purposes, to internal RAM.

Both times with the same errors.

 

Does anyone have a working version of LVGL with NEMA-GFX on the STM32H7S78-DK,

or know why these problems occur?

Is libnemagfx-float-abi-hard.a available as source code?

 

 

 

 

Best answer by mƎALLEm

Hello,

LVGL is not a ST solution. Please ask that question in LVGL community: https://forum.lvgl.io/

1 reply

mƎALLEm
mƎALLEmBest answer
Technical Moderator
November 24, 2025

Hello,

LVGL is not a ST solution. Please ask that question in LVGL community: https://forum.lvgl.io/

"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."