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

What LVGL version are you using?


What do you want to achieve?

If we have a FreeRTOS task with a fixed stack size of lets say 4095*2, in which the main LVGL guiTask is running, then we create an lv_timer by calling lv_timer_create() inside the task and set it to run for 10 times.

Then inside the lv_timer_create() callback function, we call another function initSomeUI() initializing a bunch of LVGL stuff.

Where does initSomeUI() gets allocated? Is it allocated on the stack of guiTask? Is it safe to call initSomeUI() from lv_timer_create() even tho the timer is expiring and being deleted after 10 runs?

The main question is, does calling initSomeUI() inside the callback function of an lv_timer_create() is the same as calling it from the parent guiTask in which lv_timer_create() is created on?
initSomeUI() will initialize and create a bunch of UI that will be used and accessed throughout the application.

The way I understand it is that lv_timer_create is different than creating a task with its own stack size right? Does lv_timer_create share the same stack as the parent FreeRtos task?