💡 本篇目标:系统讲解 LVGL 的源码获取、项目集成的基本流程,以及配置与构建的整体概览,帮助您搭建起嵌入式图形界面的基础框架。

一、什么是 LVGL?为什么选择它?


如果您尚未深入了解 LVGL 的核心概念与优势,建议先阅读我们上一篇文章 《[LVGL] 介绍》,该文详细阐述了 LVGL 的定位与主要特性。

📘 简而言之,LVGL 是一款用 C 语言编写、兼容 C++ 的轻量级、跨平台、开源嵌入式图形用户界面(GUI)库,适用于资源受限的微控制器(MCU)到嵌入式 Linux 等多种平台,助力开发者高效构建流畅且美观的图形界面。

二、获取 LVGL 源码


LVGL 遵循 MIT 开源协议,源码公开透明,可通过多种途径获得。

(一)方法一:使用 Git 克隆


适合熟悉 Git 的开发者,能获取最新的稳定主分支代码:

git clone https://github.com/lvgl/lvgl.git

执行后,会在当前目录生成 lvgl 文件夹,包含完整源码。

(二)方法二:直接下载压缩包


适合新手或偏好图形界面的用户:

  • 访问 LVGL 官方 GitHub 仓库
  • 点击 Code 按钮,选择 Download ZIP
  • 下载完成后解压,即可获得源码文件夹

📦 建议将 LVGL 的源码文件夹放置在项目的 componentsthird_partylibs 目录下,方便版本管理、升级维护与后续构建集成。

三、引入 LVGL 到您的项目


集成 LVGL 并不复杂,主要包括以下步骤:

  1. lvgl 文件夹添加到您的项目工程目录;
  2. 配置构建系统,确保编译器能找到 LVGL 的源码路径(如在 Makefile、CMakeLists.txt 中添加 lvgl/src 路径);
  3. 准备并添加配置文件(lv_conf.h),控制 LVGL 行为和功能(下一节详述)。

完成以上后,LVGL 核心功能即可在您的项目中正常运行,您可开始构建界面并调用相关 API。

四、LVGL 配置文件概览


LVGL 的配置文件 lv_conf.h 是定制库功能和行为的关键:

  1. 您可基于官方模板复制生成:
cp lv_conf_template.h lv_conf.h
  1. 也可将其放置于项目的 src/inc/ 目录。

该配置文件主要控制:

  • 显示屏分辨率(例如 480×320)

  • 色彩深度(16bit、32bit 等)

  • 使能哪些控件(按钮、进度条、滚动条等)

  • 日志功能开关

  • 动画、图像缓存、输入设备模块启用状态

📌 配置文件的详细内容与说明将在下一篇文章中系统讲解,帮助您根据项目需求灵活调整。

五、LVGL 构建方式总览


LVGL 不依赖特定构建工具,支持多种构建方案,您可根据项目环境与需求灵活选择:

构建方式 特点 适用平台
Make 传统、轻量、简单高效 Linux、裸机嵌入式
CMake 跨平台支持,现代主流 Linux、Windows、macOS
SCons 使用 Python,扩展灵活 跨平台,适合高度自定义
Kconfig 图形化配置界面,适合实时操作系统 Zephyr、NuttX、RT-Thread 等 RTOS

具体各构建方式的配置方法与实践,将在第五篇文章中做详尽介绍。

六、总结与后续学习建议


至此,您已掌握 LVGL 的源码获取、项目集成基础流程,以及配置与构建的整体框架。下一阶段,我们将深入剖析 lv_conf.h 配置文件,指导您根据硬件资源和应用需求,定制最适合项目的配置方案。

📘 请继续阅读下一篇:《[ LVGL ] 配置解析)》

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐