LVGL--介绍与资料汇总

1 简介

LVGL (Light and VersatileGraphics Library) is an open-source graphics library providing everything you need to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint.
The first version of LVGL was published on GitHub in 2016. As it usually happens it was started as a one-man project. Since then almost 100 contributors joined the development and LVGL became one of the most popular embedded graphics libraries.
之前叫littlevGL,后来更名为LVGL。
LittlevGL 项目作者是来自匈牙利首都布达佩斯的 Gábor Kiss-Vámosi 。Kiss 在2009年开始写 LittlevGL,2016年将其重写并发布在 GitHub 上。
在这里插入图片描述

2 支持平台

  • STM32F1, STM32F3, STM32F4, STM32F7
  • Microchip DSPIC33, PIC24, PIC32MX, PIC32MZ
  • NXP Kinetis, LPC, iMX
  • Linux frame buffer (/dev/fb)
  • Raspberry Pi
  • Espressif ESP32
  • Nordic nrf52
  • Quectell M66

可以看到,我们常见的单片机几乎都支持(16bit及以上),之所以能够同时支持这么多平台是因为littlevGL对硬件的要求没有太高,一般来说只要能驱动显示屏且Flash大于64KB,RAM大于20KB的单片机都可以使用。

3 优势特点

  • 强大的构建块按钮,图表,列表,滑块,图像等。
  • 带有动画,抗锯齿,不透明度,平滑滚动的高级图形
  • 支持各种输入设备,包括触摸屏,鼠标,键盘,编码器,按钮等。
  • 支持单色和彩色等多种同时显示方式
  • 支持UTF-8编码的多语言
  • 完全可定制的图形元素
  • 不限定MCU平台
  • 可扩展以在很少的内存下运行(64 kB闪存,10 kB RAM)
  • 支持操作系统,支持外部存储器和GPU
  • 单帧缓冲区操作,先进的图形效果
  • 用C语言编写以实现最大的兼容性
  • 无需嵌入式硬件即可在PC上开发的模拟器
  • 有着丰富的教程,示例,主题
  • 文档和API参考

4 比较

LittlevGL

开源,NXP在推。

MiniGUI

国产,商用不免费。

AWTK

全称 Toolkit AnyWhere,是 周立功公司开发的开源 GUI 引擎。

TouchGFX和STemWin(emWin 意法半导体定制版)

对于意法半导体旗下的MCU、SOC支持的好。
TouchGFX以界面华丽,流畅以及强劲的 TouchGFX Designer著称。 现在已经被ST收购,在ST MCU、MPU可免费使用。官方地址:http://touchgfx.com/en/。TouchGFX在MCU系统上运行的界面非常炫,堪比手机的APP界面.使用TouchGFX开发STM32界面,有2种方法:一是利用TouchGFX Designer软件,支持图片和控件拖拽、可快速生成在KEIL或IAR等IDE中可打开的项目工程;另一种方法是,STM32CUBEMX 5.0版本增加了对TouchGFX的支持,可以使用CubeMX开发TouchGFX应用。
TouchGFX是一个用C++语言编写的软件框架,可解锁嵌入式硬件上的图形用户交互界面,华为手表漂亮的表盘就是这玩意做的[13]。

ucGui

emWin的uCOS-II 、uCOS-III定制版。

EmbeddedWizard

德国TARA System公司开发的,收费很贵。

Qt for MCU

刚出,支持的硬件还不多。

参考

1、LVGL官网
2、微雪学堂–littlevGL系列教程
3、github–lvgl源码
4、免费开源的GUI:LittlevGL介绍、下载、配置、编译
5、littlevGL:移植到STM32
6、【LVGL学习之旅 01】移植LVGL到STM32
7、Qt 编译 littlevGL
8、emwin/touchgfx/lvgl嵌入式GUI测试
9、上传两个两大体系GUI程序,emWin与littleVGL的巅峰对决
10、LittlevGL 开源图形库
11、C语言构建的GUI库汇总
12、小米手环暴力拆解
13、管中窥豹,从小米手环4、华为GT智能手表看如何选择合适的主控MCU

### STM32LVGL 9.1集成指南 对于希望在STM32微控制器上部署图形用户界面的应用开发者而言,采用嵌入式GUI库如LVGL是一个理想的选择。为了成功配置并运行基于STM32和LVGL 9.1版本的项目,需遵循一系列特定的操作流程。 #### 配置环境准备 确保开发环境中已安装必要的工具链和支持包,包括但不限于STMCubeIDE或VSCode搭配CMake插件用于构建工程[^3]。此外,还需获取最新的HAL驱动程序以及CMSIS核心文件来支持目标板卡。 #### 初始化LVGL框架 完成上述准备工作后,在项目的`main.c`或其他适当位置加入如下初始化语句: ```c lv_init(); lv_port_disp_init(); // 显示接口初始化 lv_port_indev_init(); // 输入设备(触摸屏)初始化 ``` 这段代码负责启动LVGL引擎,并连接至指定的显示模块输入装置,从而为后续UI绘制奠定基础[^2]。 #### 自定义配置选项调整 针对不同分辨率屏幕的需求,编辑位于`lvgl-9.1.0`目录内的`lv_conf.h`头文件,激活其中被注释掉的部分并通过宏定义设置显示器的具体参数: ```c #if 1 /*Set it to "1" to enable content*/ ... #define MY_DISP_HOR_RES 320 #define MY_DISP_VER_RES 240 ... #endif ``` 此操作允许应用程序根据实际使用的LCD面板特性自适应调整布局。 #### 获取官方资源链接 访问GitHub上的[Simulator project for LVGL embedded GUI Library][simulator-project-link]可以找到适用于PC端仿真的源码实例,这对于前期测试非常有帮助。而关于更详细的移植指导文档,则建议查阅由社区成员维护的相关博客文章或是论坛帖子获得最新资讯[^1]。 [simulator-project-link]: https://github.com/lvgl/simulator
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

worthsen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值