LVGL Manual
LVGL is a highly customizable, modern aesthetically pleasing, easy-to-use, open source free embedded graphics library (MIT protocol), founded by Gábor Kiss-Vámosi from Hungary. Currently, the LVGL source code is hosted on the Github platform for maintenance. Under the promotion of community member Man Jianting , the RT-Thread community and the LVGL community have completed the source code docking. The LVGL official Github source code repository has become a software package for RT-Thread. RT-Thread community partners only need to use the Env tool or RT-Studio to pull the latest source code of LVGL and automatically add it to the RT-Thread project.
List of BSPs that have been adapted to LVGL | Explanation video
Both RT-Thread simulators are compatible with LVGL. You can run the LVGL graphics library on the RT-Thread operating system without a development board. In the adapted BSP, users can complete the LVGL configuration and generate a project with one click. After compiling and downloading, the LVGL routines are automatically demonstrated. Please refer to the documentation or (and) the explanation video for how to configure.
For the transplant template, please refer to Zhengdian Atom STM32L475 Pandora | STM32F469 Discovery | Nuvoton series
There are three LVGL configuration files:
Profile Name
Location
Function
Do users need to modify this file?
lv_rt_thread_conf.h
Take over the configuration related to the operating system (such as time base signal, memory, etc.)
unnecessary
lv_conf.h
RT-Thread side: Reference
User-defined configuration
The user needs to create it in the applications/lvgl folder of the specific BSP
From the table above, we can see that although there are three configuration files, only the last one actually requires user intervention. That is, the user needs to create an lvgl folder in the applications folder of the BSP. This folder is used to store lvgl-related files. The content is as follows:
File name
effect
lv_conf.h
User-defined configuration of LVGL function (the file name cannot be changed randomly)
lv_port_disp.c
LVGL display interface file, void lv_port_disp_init(void)
initialize the content related to the interface with the LVGL display framework in the function (this function must exist). Official manual reference | transplant reference
lv_port_indev.c
LVGL input device docking file, void lv_port_indev_init(void)
initialize the content related to docking with the LVGL input device framework in the function (this function must exist). Official manual reference | Porting reference
User interface initialization file
Call the function you want to initialize in void lv_user_gui_init(void)
the function (the function must exist), and LVGL will automatically call the function during initialization.
Since RT-Thread version 4.1.1 (including 4.1.1), users no longer need to create
lv_port_disp.h
andlv_port_indev.h
files.
Users do not need to worry about LVGL initialization. LVGL will be automatically initialized by RT-Thread when the device is powered on. It will also automatically call lv_port_disp_init
and lv_port_indev_init
to initialize the user's display screen, input device driver and interface drawing function. These initialization tasks have been automatically initialized in the lv_rt_thread_port.clv_user_gui_init
file on the LVGL side .
As for whether to connect the RT-Thread display device framework and the touch framework, users can freely deal with it. If you do not want to connect the RT-Thread display and touch framework, you can directly connect the driver to the connection function on the LVGL side .
If you encounter any issues related to porting, please go to the RT-Thread community forum to ask questions: https://club.rt-thread.org/index.html
If you encounter any problems with LVGL, please go to the LVGL community forum to ask questions (please use English): https://forum.lvgl.io/
Last updated