cancel
Showing results for 
Search instead for 
Did you mean: 

Problems Initializing NEMA_GFX with LVGL on the STM32H7S78-DK

Heinz_Baumer
Associate III

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?

 

 

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
mƎALLEm
ST Employee

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.

View solution in original post

1 REPLY 1
mƎALLEm
ST Employee

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

We’re moving the ST Community to a new platform to give you a better and more reliable community experience.