LVGL基础教程 – LVGL 简介

这篇具有很好参考价值的文章主要介绍了LVGL基础教程 – LVGL 简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

LVGL(Light and Versatile Graphics Library,轻巧而多功能的图形库)是一个免费的开放源代码图形库,它提供创建具有易于使用的图形元素,精美的视觉效果和低内存占用的嵌入式GUI所需的一切。

LVGL基础教程 – LVGL 简介

LVGL主要特性

  1. 功能强大的构建块,例如按钮,图表,列表,滑块,图像等。
  2. 带有动画,抗锯齿,不透明,平滑滚动的高级图形
  3. 各种输入设备,例如触摸板,鼠标,键盘,编码器等
  4. 支持UTF-8编码的多语言
  5. 多显示器支持,如TFT,单色显示器
  6. 完全可定制的图形元素
  7. 独立于任何微控制器或显示器使用的硬件
  8. 可扩展以使用很少的内存(64 kB闪存,16 kB RAM)进行操作
  9. 操作系统,支持外部存储器和GPU,但不是必需的
  10. 单帧缓冲区操作,即使具有高级图形效果
  11. 用C语言编写,以实现最大的兼容性(与C ++兼容)
  12. 模拟器可在没有嵌入式硬件的PC上进行嵌入式GUI设计
  13. 可移植到MicroPython
  14. 可快速上手的教程、示例、主题
  15. 丰富的文档教程
  16. 在MIT许可下免费和开源

 

LVGL基础教程 – LVGL 简介

LVGL硬件要求

基本上,每个现代控制器(肯定必须要能够驱动显示器)都适合运行LVGL。LVGL的最低运行要求很低:

  • 16、32或64位微控制器或处理器
  • 最低 16 MHz 时钟频率
  • Flash/ROM::对于非常重要的组件要求 >64 kB(建议 > 180 kB)
  • RAM
    • 静态 RAM 使用量:~2 kB,取决于所使用的功能和对象类型
    • 堆栈: > 2kB(建议 > 8 kB)
    • 动态数据(堆):> 2 KB(如果使用多个对象,则建议 > 16 kB)。由 lv_conf.h 中的 LV_MEM_SIZE 宏进行设置。
    • 显示缓冲区:> “水平分辨率”像素(建议 > 10× “水平分辨率” )
    • MCU 或外部显示控制器中的一帧缓冲区
  • C99或更高版本的编译器
  • 具备基本的C(或C ++)知识:指针,结构,回调…
请注意,内存使用情况可能会因具体的体系结构、编译器和构建选项而异。

LVGL源码布局

  • ./lvgl 库本身
  • ./lv_drivers 显示和输入设备驱动程序
  • ./lv_examples 示例和演示
  • lvgl官方文档网站(https://docs.lvgl.io)
  • lvgl官方博客博客站点(https://blog.lvgl.io)
  • sim在线模拟器网站(https://sim.lvgl.io)
  • lv_sim _… 适用于各种 IDE 和平台的模拟器项目
  • lv_port _… 移植到其他开发板
  • lv_binding _… 绑定到其他语言
  • lv _…移植到其他平台
其中,lvgl,lv_examples和lv_drivers是最受维护、关注的核心存储库。

LVGL更新发行规则

  • lvgl核心存储库遵循语义版本控制规则:
    • 不兼容的API的主要版本更改。例如。 v5.0.0,v6.0.0
    • 次要版本,用于新的但向后兼容的功能。例如。 v6.1.0,v6.2.0
    • 修补程序版本,用于向后兼容的错误修复。例如。 v6.1.1,v6.1.2

LVGL仓库分支说明

核心存储库至少具有以下分支:

  • master 分支,最新版本,补丁直接在这里合并。
  • dev 分支,开发人员在此处合并新功能,直到将它们合并到 master 分支为止。
  • release/vX 分支,主要版本的稳定版本

LVGL发布周期

LVGL有2周的发布周期。在每月的第一个和第三个 星期二 :

  1. (基于新功能)从 master 分支创建 主要、次要或错误修复 的版本
  2. 将 master 分支合并到 release/vX 中
  3. 发布后立即将 dev 分支合并到 master 分支
  4. 在接下来的2周内,测试 master 分支的新功能
  5. 错误修复直接合并到 master 中
  6. 2周后,再从第一步重新开始迭代

LVGL版本标签

每个版本都会创建 vx.Y.Z 之类的标签,如: v7.9.0 。

LVGL变更日志

版本更改记录在 ./lvgl/CHANGELOG.md 中。

LVGL版本兼容

在核心存储库中,每个主要版本都有一个分支(例如 release/v6 )。该主要版本的所有次要版本和修补程序版本都在此处合并

这样就可以添加稳定的较旧版本,而无需打扰较新的版本

所有主要版本的官方支持周期为1年。文章来源地址https://www.toymoban.com/news/detail-471599.html

到了这里,关于LVGL基础教程 – LVGL 简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flexible Collision Library(FCL)简介及使用流程

    FCL是一个碰撞检测库,针对刚体模型、可变体模型、连杆类模型和点云图等碰撞检测模型提供一个系统框架,FCL使用物体的位置、角度、包围盒和表面网格来检测两个物体之间的碰撞,提供离散碰撞检测、连续的碰撞检测、距离计算、穿透深度估算四种功能。主要适用于以下

    2024年02月06日
    浏览(29)
  • Python基础教程(一):Python简介

    Python 是一门流行的编程语言。它由 Guido van Rossum 创建,于 1991 年发布。 它用于: Web开发(服务器端) 软件开发 数学 系统脚本 可以在服务器上使用 Python 来创建 Web 应用程序。 Python 可以与软件一起使用来创建工作流。 Python 可以连接到数据库系统。它还可以读取和修改文件

    2024年02月09日
    浏览(27)
  • Vulkan教程(13): Graphics pipeline Shader modules(着色器模块)

    Vulkan官方英文原文:Shader modules - Vulkan Tutorial 对应的Vulkan技术规格说明书版本: Vulkan 1.3.2 Unlike earlier APIs, shader code in Vulkan has to be specified in a bytecode format as opposed to human-readable syntax like GLSL and HLSL. This bytecode format is called SPIR-V and is designed to be used with both Vulkan and OpenCL (both Kh

    2024年02月06日
    浏览(23)
  • 合宙Air724UG LuatOS-Air LVGL API--简介

    为何是 LVGL LVGL 是一个开源的图形库,它提供了创建嵌入式 GUI 所需的一切,具有易于使用的图形元素、漂亮的视觉效果和低内存占用的特点。 LVGL特点: 强大的 控件 :按钮、图表、列表、滑动条、图像等 高级图形引擎:动画、抗锯齿、不透明、平滑滚动、混合模式等 支持

    2024年02月12日
    浏览(24)
  • Windows PowerShell基础教程(1)——Windows PowerShell 简介

    Windows PowerShell基础教程(1)——Windows PowerShell 简介             PowerShell 开发代号为Monad,  是支持 Windows XP/Server 2003/Vista/Server 2008操作系统的脚本语言。包括 Cmd.exe 、SH、KSH、CSH以及BASH Unix在内的大多数外壳程序的操作方式都是在新的进程中执行命令或实用工具程序,并以

    2024年02月10日
    浏览(26)
  • 【Rust教程 | 基础系列1 | Rust初相识】Rust简介与环境配置

    Rust是一种系统编程语言,专注于速度、内存安全和并行性。它的设计目标是提供一种能够实现高性能系统的语言,同时保证内存安全和线程安全。 本篇教程的目标是通过融合理论与实践,帮助读者更快速、更有效地学习 Rust,并解决在学习过程中可能遇到的挑战。这些内容也

    2024年02月15日
    浏览(49)
  • 第10章_瑞萨MCU零基础入门系列教程之中断控制单元简介

    本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id=728461040949 配套资料获取:https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总 : https://blog.csdn.net/qq_35181236/article/details/132779862 本书使用的RA处理器R7FAM5系

    2024年02月09日
    浏览(32)
  • Angular 17+ 高级教程 – Library

    当你需要管理超过一个项目时,你就需要知道怎么使用 Angular Library。 你可以把多个项目共享的组件放到这个 Library 了,就像 Angular Material 那样。   Sandro Roth – Building an Angular Library with multiple entry points (主要参考) Docs – Creating libraries Docs – Copy assets Docs – Embed assets in C

    2024年04月17日
    浏览(25)
  • 【LVGL学习笔记】(二) 基础概念

    LVGL全程LittleVGL,是一个轻量化的,开源的,用于嵌入式GUI设计的图形库。并且配合LVGL模拟器,可以在电脑对界面进行编辑显示,测试通过后再移植进嵌入式设备中,实现高效的项目开发。 LVGL中文教程手册:百问网LVGL中文教程手册文档 以下的内容均是以VS环境下的LVGL模拟器

    2024年02月01日
    浏览(32)
  • Node.js |(一)Node.js简介及计算机基础 | 尚硅谷2023版Node.js零基础视频教程

    学习视频 :尚硅谷2023版Node.js零基础视频教程,nodejs新手到高手 可以 让其他人访问我们编写的网页 。 为 后续的框架学习 打基础。 Node.js 是一个 开源 的,跨平台的 JavaScript 运行环境。 通俗来讲 : Node.js 就是一款 应用程序 ,是一款软件,它可以 运行 Javascript 。 开发服务

    2024年02月13日
    浏览(19)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包