嵌入式界面神器 littleVGL

简介: 嵌入式界面神器 littleVGL

1、littleVGL 介绍

littleVGL 是近几年开始流行的一个小型开源嵌入式 GUI 库,具有界面精美,消耗资源小,可移植度高,响应式布局等特点,全库采用纯 c 语言开发,而且 littleVGL 库的更新速度非常快,随着 littleVGL 的认知度越来越大,官方资料也逐渐丰富起来。

相比 emWin,littleVGL 的图形效果更好,当然,对 MCU 的要求要比 emWin 要高,大家根据 MCU 的资源情况进行选择。

littleVGL 的官方网址

https://littlevgl.com

littleVGL 的 github 网址

https://github.com/littlevgl/lvgl

littleVGL 的在线文档网址

https://docs.littlevgl.com/zh-CN/html/index.html

2、littleVGL 主要特性

  1. 具有非常丰富的内置控件,像 buttons, charts, lists, sliders, images 等
  2. 高级图形效果:动画,反锯齿,透明度,平滑滚动
  3. 支持多种输入设备,像 touchpad, mouse, keyboard, encoder 等
  4. 支持多语言的 UTF-8 编码
  5. 支持多个和多种显示设备,例如同步显示在多个彩色屏或单色屏上
  6. 完全自定制的图形元素
  7. 硬件独立于任何微控制器或显示器
  8. 可以缩小到最小内存 (64 kB Flash, 16 kB RAM)
  9. 支持操作系统、外部储存和 GPU(非必须)
  10. 仅仅单个帧缓冲设备就可以呈现高级视觉特效
  11. 使用 C 编写以获得最大兼容性(兼容 C++)
  12. 支持 PC 模拟器
  13. 为加速 GUI 设计,提供教程,案例和主题,支持响应式布局
  14. 提供了在线和离线文档
  15. 基于自由和开源的 MIT 协议
littleVGL 的要求
  1. 16、32 或 64 位的单片机(微控制器)或处理器
  2. 微处理器的主频最好高于 16MHZ
  3. Flash/ROM:如果只用 littleVGL 核心组件的话,则至少需要 64kB 的容量,如果想完整使用的话,最好保证 180kB 以上的容量
  4. RAM:
    SRAM: 大约 8 到 16 kB,这取决于你所用的组件功能和 objects 控件对象类型;
    栈: 至少为 2Kb,一般推荐值为 4kB;
    动态数据(堆): 至少 4kB,如果你用到了多个或多种控件的话,那么最好设置为 16kB 以上,这个是可以通过 lv_conf.h 配置文件中的 LV_MEM_SIZE 宏来定义的;
    显示缓冲区: 至少要比”水平分辨率像素”要大,一般推介值为 10 倍的”水平分辨率像素”,取个例子,假如我们屏幕的水平分辨率为480个像素,采用16位的颜色深度进行显示,即一个像素占 2 个字节,那么推介的显示缓冲区大小为 104802=9600 个字节
  5. C99 或更新的编译器,如果是用 keil 开发的话,一定得勾选”c99”模式,否则编译会报错的
  6. 基本的 c(或者 c++)语言知识,如:指针,结构体,回调函数

已经支持的平台

LVGL 本身并不依赖特定的硬件平台,任何满足 LVGL 硬件配置要求的微控制器均可运行 LVGL。如下仅列举其中一部分:

NXP: Kinetis, LPC, iMX, iMX RT
STM32F1, STM32F3, STM32F4, STM32F7, STM32L4, STM32L5, STM32H7
Microchip dsPIC33, PIC24, PIC32MX, PIC32MZ
Linux frame buffer (/dev/fb)
Raspberry Pi
Espressif ESP32
Infineon Aurix
Nordic NRF52 Bluetooth modules
Quectel modems

LVGL也支持:

Arduino library
PlatformIO package
Zephyr library
ESP32 component
NXP MCUXpresso component
NuttX library
RT-Thread RTOS

官方效果图

3、littleVGL 移植到 STM32F103

移植教程正点原子有做过,全套资源如下

链接:https://pan.baidu.com/s/1-7RFskvZifndQUSzQ4D92Q 提取码:zdyz

教程写的很好,大家可以参照移植,玩起来!

目录
相关文章
|
9月前
|
小程序 Linux 芯片
实用的嵌入式 C 程序!建议收藏
实用的嵌入式 C 程序!建议收藏
59 0
|
5月前
|
异构计算 Windows
嵌入式硬件电路常用设计软件有哪些
嵌入式硬件电路常用设计软件各有其特点和优缺点。在选择软件时,用户应根据自己的实际需求、预算以及学习曲线等因素进行综合考虑。
161 7
|
2月前
|
网络协议 网络安全 C#
基于 WPF 开发的简约,功能强大的终端模拟器
基于 WPF 开发的简约,功能强大的终端模拟器 前言今天大姚给大家推荐一款基于 WPF 开发的简约,功能强大的终端模拟器:ModengTerm。项目介绍ModengTerm是一款基于 WPF 开发的简约,功能强大的终端模拟器,可以用来连接SSH服务器,串口,TCP服务器,Windows命令行等。项目功能支持与SSH服务器,串口,Windows命令行进行交互。可以保存会话信息,方便下次直接登录。支持将终端内容导出为txt和html格式。根据关键字/正则表达式进行历史记录的查找。同步输入功能、历史记录、度可定制化的颜色主题、实时记录日志功能等。项目源码运行设置ModengTerm为启动项目运行:
|
3月前
|
监控 IDE 开发工具
「Mac畅玩鸿蒙与硬件5」鸿蒙开发环境配置篇5 - 熟悉DevEco Studio界面
本篇将详细介绍 DevEco Studio 的界面布局和主要功能模块,帮助开发者熟悉开发环境,提高开发效率。通过了解各个界面区域,开发者可以顺利找到所需工具,流畅开展鸿蒙应用开发。
140 2
「Mac畅玩鸿蒙与硬件5」鸿蒙开发环境配置篇5 - 熟悉DevEco Studio界面
|
9月前
|
传感器 图形学 芯片
嵌入式单片机上练手的小型图形库
嵌入式单片机上练手的小型图形库
71 0
|
编译器 C语言 C++
嵌入式c++软件开发第二讲笔记
嵌入式c++软件开发第二讲笔记
66 0
|
安全 Java 编译器
嵌入式c++软件开发第四讲笔记
嵌入式c++软件开发第四讲笔记
57 0
|
安全 C++ 容器
嵌入式c++软件开发笔记第三讲
嵌入式c++软件开发笔记第三讲
69 0
|
C语言 C++ iOS开发
嵌入式c++软件开发笔记 第六讲
嵌入式c++软件开发笔记 第六讲
38 0
|
算法 编译器 C++
嵌入式c++软件开发笔记第五讲
嵌入式c++软件开发笔记第五讲
48 0