本文最后更新于299 天前,其中的信息可能已经过时,如有错误请发送邮件到cishaxiatian@gmail.com
LVGL源码的目录解析
LVGL 源码的目录下有很多文件和文件夹,但我们并不需要完全了解它们,我们只需要了解与移植相关的部分即可。各文件夹和文件的功能如下表所示:
| 文件 | 说明 |
|---|---|
| demos | LVGL 提供的综合演示源码 |
| docs | LVGL 文献,主要说明 LVGL 每个部件的使用方法 |
| env_support | 环境的支持(MDK、ESP、RTThread) |
| examples | LVGL 例程源码和 LVGL 输入设备驱动,显示屏驱动文件 |
| scripts | LVGL 脚本(与 MicroPython 有关) |
| src | LVGL 源文件(LVGL 部件源码、第三方库) |
| tests | 官方人员的测试代码 |
| lv_conf_template.h | LVGL 的剪裁文件 |
| lvgl.h | LVGL 包含的头文件 |
上表中,与 LVGL 移植相关的有【examples】文件夹、【src】文件夹、lv_conf_template.h 和 lvgl.h 文件,其它的部分均与移植无关,我们可以选择忽略。
examples 文件夹
该文件夹主要包含 LVGL部件实例、动画实例、其他第三方库实例以及输入设备和显示器驱动文件等内容,具体如下所示:
| 文件 | 描述 |
|---|---|
| anim | LVGL 动画例程实例 |
| arduino | arduino 开源电子平台 |
| assets | 图片资源 |
| event | LVGL 事件机制实例 |
| get_started | LVGL 获取状态实例 |
| layouts | LVGL 布局实例 |
| libs | LVGL 移植第三方库实例 |
| others | LVGL 其他测试 |
| porting | LVGL 输入设备驱动、文件系统驱动以及显示器驱动 |
| scroll | LVGL 滚动实例 |
| styles | LVGL 对象样式实例 |
| widgets | LVGL 部件实例 |
上表中,只有【porting】文件夹与移植相关,其它文件夹中存放的是各种实例。
src 文件夹
该文件夹主要包含 LVGL 源文件(部件源码、多种解码库),具体如下所示:
| 文件 | 描述 |
|---|---|
| core | LVGL 核心源码(事件、组、对象、坐标、样式、主题) |
| draw | LVGL 绘画驱动(图片、解码、DMA2D、圆、线、圆弧、和文本) |
| extra | LVGL 的拓展内容(布局、第三方库、其他测试、主题以及部件) |
| font | LVGL 字库 |
| gpu | sLVGL 针对图形加速 |
| hal | 硬件抽象层(显示驱动程序、输入设备程序以及 LVGL 系统滴答) |
| misc | 主要描述 LVGL 其他定义(动画、内存管理、日志) |
| widgets | LVGL 基础部件 |






这里建议使用GUI-guider或者NXP图形化得到需要的文件直接替换即可,实现效果复杂的需要CSS基础,请使用LVGL官方的编程软件即可