LVGL--介绍与资料汇总
- 1 简介
- 2 支持平台
- 3 优势特点
- 4 比较
-
- LittlevGL
- MiniGUI
- AWTK
- TouchGFX和STemWin(emWin 意法半导体定制版)
- ucGui
- EmbeddedWizard
- Qt for MCU
- 参考
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