mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-28 07:03:00 +08:00
docs(porting): add more details about adding lvgl to your project
This commit is contained in:
parent
77dc456d55
commit
6ce73486d3
@ -9,17 +9,44 @@
|
||||
|
||||
LVGL is available on GitHub: [https://github.com/lvgl/lvgl](https://github.com/lvgl/lvgl).
|
||||
|
||||
You can clone it or download the latest version of the library from GitHub.
|
||||
You can clone it or [Download](https://github.com/lvgl/lvgl/archive/refs/heads/master.zip) the latest version of the library from GitHub.
|
||||
|
||||
The graphics library itself is the **lvgl** directory which should be copied into your project.
|
||||
## Add lvgl to your project
|
||||
|
||||
The graphics library itself is the `lvgl` directory. It contains a couple of folders but to use `lvgl` you only need `.c` and `.h` files from the `src` folder.
|
||||
|
||||
### Automatically add files
|
||||
If your IDE automatically adds the files from the folders copied to the project folder (as Eclipse or VSCode does), you can simply copy the `lvgl` folder as it is into your project.
|
||||
|
||||
### Make and CMake
|
||||
LVGL also supports `make` and `CMake` build systems out of the box. To add LVGL to your Makefile based build system add these lines to your main Makefile:
|
||||
```make
|
||||
LVGL_DIR_NAME ?= lvgl #The name of the lvgl folder (change this if you have renamed it)
|
||||
LVGL_DIR ?= ${shell pwd} #The path where the lvgl folder is
|
||||
include $(LVGL_DIR)/$(LVGL_DIR_NAME)/lvgl.mk
|
||||
```
|
||||
|
||||
For integration with CMake take a look this section of the [Documentation](/get-started/cmake).
|
||||
|
||||
### Other platforms and tools
|
||||
The [Get started](/get-started) section contains many platform specific descriptions e.g. for ESP32, Arduino, NXP, RT-Thread, NuttX, etc.
|
||||
|
||||
### Demos and Examples
|
||||
|
||||
The `lvgl` folder also contains an `examples` and a `demos` folder. If you needed to add the source files manually to your project, you can do the same the source files of these two folders too. `make` and `CMake` handles the examples and demos, so there is no extra action required in these cases.
|
||||
|
||||
## Configuration file
|
||||
|
||||
There is a configuration header file for LVGL called **lv_conf.h**. You modify this header to set the library's basic behavior, disable unused modules and features, adjust the size of memory buffers in compile-time, etc.
|
||||
|
||||
Copy **lvgl/lv_conf_template.h** next to the *lvgl* directory and rename it to *lv_conf.h*. Open the file and change the `#if 0` at the beginning to `#if 1` to enable its content.
|
||||
To get `lv_conf.h` **copy lvgl/lv_conf_template.h** next to the `lvgl` directory and rename it to *lv_conf.h*. Open the file and change the `#if 0` at the beginning to `#if 1` to enable its content. So the layout of the files should look like this:
|
||||
```
|
||||
|-lvgl
|
||||
|-lv_conf.h
|
||||
|-other files and folders
|
||||
```
|
||||
|
||||
Comments in the config file explain the meaning of the options. Be sure to set at least `LV_COLOR_DEPTH` according to your display's color depth.
|
||||
Comments in the config file explain the meaning of the options. Be sure to set at least `LV_COLOR_DEPTH` according to your display's color depth. Note that, the examples and demos explicitly need to be enabled in `lv_conf.h`.**
|
||||
|
||||
Alternatively, `lv_conf.h` can be copied to another place but then you should add the `LV_CONF_INCLUDE_SIMPLE` define to your compiler options (e.g. `-DLV_CONF_INCLUDE_SIMPLE` for GCC compiler) and set the include path manually (e.g. `-I../include/gui`).
|
||||
In this case LVGL will attempt to include `lv_conf.h` simply with `#include "lv_conf.h"`.
|
||||
@ -32,7 +59,6 @@ If `LV_CONF_SKIP` is defined, LVGL will not try to include `lv_conf.h`. Instead
|
||||
LVGL also can be used via `Kconfig` and `menuconfig`. You can use `lv_conf.h` together with Kconfig, but keep in mind that the value from `lv_conf.h` or build settings (`-D...`) overwrite the values set in Kconfig. To ignore the configs from `lv_conf.h` simply remove its content, or define `LV_CONF_SKIP`.
|
||||
|
||||
|
||||
|
||||
## Initialization
|
||||
|
||||
To use the graphics library you have to initialize it and setup required components. The order of the initialization is:
|
||||
|
Loading…
x
Reference in New Issue
Block a user