Lvgl on STM32F407VE Black with mbed

Description

Porting to STM32F407VE ‘Black’ board

What MCU/Processor/Board and compiler are you using?

STM32F407VE with 3.2" TFT and ILI9341 driver, mbed-os5 with gcc

What do you want to achieve?

Graphics for some controller devices

What have you tried so far?

followed the porting instructions, demo is running and displayed, touch is not yet implemented

Screenshot and/or video

Question:
init: I have used the port template and renamed it, my calls in main look like:

    lv_init();
    lv_port_disp_init();
	//lv_tutorial_hello_world();
    demo_create();

is it the correct order? Or is there an test app that includes the enabled tests/demo/tutorials by the defines in the config file?

I’m using mbed which is an RTOS. What is all done in the lv_task_handler() ? I guess its better to call it in a task, will it be save when another tasks changes the screen contents? Do you have an idea how much stack is used in the handler?

And mbed has a C++ API, I would prefer that the graphics lib is also using C++. Is there already a C++ wrapper in work by someone?

Thanks for this great stuff!

lv_task_handler:

  • Checks for input from an input device (e.g. a touchscreen).
  • Refreshes the invalidated areas of the screen.
  • Calls any custom LittlevGL tasks you register with lv_task_create.

Have a look at the relevant part of the documentation.

It depends on the architecture and the application, so I would start with budgeting something like 4 kilobytes and then optimizing it later based on actual stack usage. That way you don’t run the risk of overflowing it later and having to spend hours debugging memory corruption. :slightly_smiling_face:

(In all of my projects, I’ve usually just left it at 4 kilobytes, as I have the memory to do so.)

Yes; that’s correct.

Not that I’m aware of (unless @rohmer wrote one as part of the UI designer he is making, but I doubt it).

1 Like

thanks for the fast replay, will check more documentation.

About C++ wrapper, google found this for me:


not very complete, but some starting point. I think also for a gui designer its easier to deal with objects, but I’m at the beginning of testing lvgl and so its ok for now.