How to build LVGL applications using STM32CubeIDE

Revision as of 15:23, 4 July 2022 by Registered User
Applicable for STM32MP13x lines, STM32MP15x lines

This article gives information about how to easily develop a LVGL application on STM32MP1 using STM32CubeIDE

1. Architecture overview[edit source]

1.1. Component presentation[edit source]

1.1.1. LVGL[edit source]

"LVGL" (Light and Versatile Graphics Library) is an open-source embedded GUI library that is written in C (with C++ compatibility) and is released under the MIT license. It’s optimized for deployment on micro-controllers and bare metal (no OS) devices, but on this article, we will see how to develop LVGL applications for our STM32MP1 microprocessor that runs the OpenSTLinux linux distribution.

1.1.2. SDL2[edit source]

SDL or Simple Direct Media Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. it allows to show windows, show images, play sounds, manage keyboards... SDL is written in C, works natively with C++, and there are bindings available for several other languages, including C# and Python. SDL 2.0 is distributed under the zlib license. This license allows you to use SDL freely in any software.


1.1.3. Wayland / Weston[edit source]

1.1.4. DRM / KMS[edit source]

2. How to generate SDK for the configuration[edit source]

2.1. Purpose to generate SDK[edit source]

2.2. Generate SDK for SDL2 with GPU configuration[edit source]

2.3. Generate SDK for SDL2 without GPU configuration[edit source]

3. How to build lvgl project with STM32CubeIDE[edit source]

3.1. Get LVGL project[edit source]

3.2. Configure CubeIDE with SDK[edit source]

3.3. Proposed modifications on LVGL project[edit source]

3.4. Run the demo[edit source]

3.5. Display performances[edit source]

4. To go further[edit source]

5. References[edit source]