LVGL简介(基于v8.1-8.2)

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

一、LVGL起源

  LVGL(Light and Versatile Graphics Library)是一个轻量级的嵌入式图形库。LVGL的项目作者是来自匈牙利首都布达佩斯的 Gábor Kiss-Vámosi 。Kiss 在2016年将其发布在 GitHub上。

  当时叫 LittlevGL而不是LVGL,后来作者重新命名为 LVGL,甚至连仓库地址都改了。 像一般的开源项目的那样,它是作为一个人的项目开始的。 从那时起,陆续有近 100 名贡献者参与了项目开发,使得 LVGL 逐渐成为最受欢迎的嵌入式图形库之一。LVGL 项目(包括所有存储库)在 MIT license 许可下获得许可。这意味着您甚至可以在商业项目中使用它。这不是强制性的。

  它提供了创建嵌入式 GUI 所需的一切,具有易于使用的图形元素,美丽的视觉效果和低内存占用。

官网地址:https://lvgl.io/

LVGL为我们提供一个详细的英文文档手册,这个文档的在线阅读站点是:
https://docs.lvgl.io,下面还有个中文版的

百问网LVGL中文站点:http://lvgl.100ask.net,选择相应的版本v8.1

github地址:https://github.com/lvgl

lvgl,开源轻量级显示框架LVGL,嵌入式Linux小项目,单片机,嵌入式硬件,arm,linux,LVGL

二、LVGL组成及相关知识

1、主要特性

• 丰富且强大的模块化图形组件:按钮 (buttons)、图表 (charts)、列表 (lists)、
  滑动条 (sliders)、图片 (images)等
• 高级的图形引擎:动画、抗锯齿、透明度、平滑滚动、图层混合等效果
• 支持多种输入设备:触摸屏、键盘、编码器、按键等
• 支持多显示设备
• 不依赖特定的硬件平台,可以在任何显示屏上运行
• 配置可裁剪(最低资源占用:64 kB Flash,16 kB RAM)
• 基于 UTF-8 的多语种支持,例如中文、日文、韩文、阿拉伯文等
• 可以通过类 CSS的方式来设计、布局图形界面(例如:Flexbox、Grid)
• 支持操作系统、外置内存、以及硬件加速(LVGL 已内建支持 STM32 DMA2D、NXP PXP
  和 VGLite)
• 即便仅有单缓冲区 (frame buffer)的情况下,也可保证渲染如丝般顺滑
• 全部由 C 编写完成,并支持 C++ 调用
• 支持 Micropython 编程,参见:LVGL API in Micropython
• 在线模拟器,支持ESP32

2、lvgl开发介绍

• 支持模拟器仿真,可以无硬件依托进行开发
• 丰富详实的例程
• 详尽的文档以及 API 参考手册,可线上查阅或可下载为 PDF 格式
• 在 MIT 许可下免费和开源
• 基本上,每个能够驱动显示器的现代控制器都适合运行 LVGL。

3、LVGL在git的仓库布局

LVGL 项目的所有代码仓库都托管在 GitHub 上:https://github.com/lvgl
您可以从下面的列表获取到 lvgl 所有相关的代码仓库:
• lvgl 库本身有很多 例子。
• lv_demos 使用 LVGL 创建的演示。
• lv_drivers 显示和输入设备驱动程序
• 博客 博客站点的来源 (https://blog.lvgl.io)
• sim 在线模拟器网站的来源 (https://sim.lvgl.io)
• lv_sim_... 各种 IDE 和平台的模拟器项目
• lv_port_... LVGL 端口到开发板
• lv_binding_.. 绑定到其他语言
• lv_... 移植到其他平台

该项目的维护:
• 错误修复:每周按需发布
• 次要版本:每 3-4 个月
• 主要版本:大约每年

三、运行LVGL的硬件需求

1、参数要求

163264 位微控制器或处理器

建议使用 16 MHz 速度或者更高

闪存/只读存储器:> 64 kB (建议使用 180 kB)

内存:8 kB(建议使用 24 kB)

1 帧缓冲器:在 MCU、外部 RAM 或显示控制器中

LVGL 的图形缓冲区:>“水平分辨率”像素(建议使用 1/10“屏幕尺寸”)

C99 或更高版本的编译器

基本 C(或C++)知识:指针、结构、回调

2、显示

任何分辨率:从小型单色显示器到全高清显示器

简单的界面:一个驱动程序功能即可将渲染的图像复制到显示器

图形处理器支持

多显示器支持

自定义颜色格式支持

灵活的缓冲模式,可实现高质量、高性能和低内存使用率

3、输入设备

同一屏幕的多个输入设备

简单的接口:一个驱动程序功能即可获取输入设备的状态

拖动、滚动对象

识别手势

键盘和编码器支持无触摸板导航

4、绘图功能

抗锯齿

带半径的矩形

带半径的边框

影子

线:

弧:

多边形

掩蔽

5、文本功能

支持 UTF-8

抗锯齿

字距调整

自动换行和自动文本滚动

双向文本支持(混合 RTL 和 LTR)

阿拉伯语和波斯语支持

字体压缩

子像素渲染

在线和离线字体转换器

自定义字体引擎的界面

FreeType 集成示例

多语言支持

6、图像功能

各种颜色格式:RGB、ARGB、色度键控、索引、仅 Alpha

实时对图像进行重新着色

实时缩放和旋转

图像可以放在闪存或文件中(例如SD卡)

在线和离线图像转换器

用于缓存的图像解码器

PNG 集成示例

7、风格

设置微件外观

级联样式(如 CSS 中所示)

在多个小部件中重复使用这些样式

用于简单更改的本地样式

用于提供默认外观的主题

状态更改时的过渡(动画)

  要运行LVGL,您只需要一个C编译器,32kB RAM和128 kB闪存,一个帧缓冲区以及至少一个用于渲染的1/10屏幕大小的缓冲区。

四、windows PC模拟器(codeblocks)运行LVGL

1、什么是codeblocks?

  Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境。Code::Blocks是开放源码软件。Code::Blocks由纯粹的C++语言开发完成,它使用了著名的图形界面库wxWidgets(3.x)版。对于追求完美的C++程序员,再也不必忍受Eclipse的缓慢。

  阅读参考:Code::Blocks_百度百科,其他更多相关资料请自行百度搜索学习,这里不再赘述。

2、代码测试

相关资料链接:
链接:https://pan.baidu.com/s/10fqCw72zTfnj-2iTWFgpTg 
提取码:sfh7 
--来自百度网盘超级会员V6的分享

lvgl,开源轻量级显示框架LVGL,嵌入式Linux小项目,单片机,嵌入式硬件,arm,linux,LVGL
lvgl,开源轻量级显示框架LVGL,嵌入式Linux小项目,单片机,嵌入式硬件,arm,linux,LVGL
lvgl,开源轻量级显示框架LVGL,嵌入式Linux小项目,单片机,嵌入式硬件,arm,linux,LVGL
  若编译出现如下图错误,可根据图中所示进行解决:
lvgl,开源轻量级显示框架LVGL,嵌入式Linux小项目,单片机,嵌入式硬件,arm,linux,LVGL
  我个人在实验过程中编译该程序出现了一个switch case选项的宏未定义。可尝试将该选项部分代码隐去,再次编译运行,并不影响最终结果,因为我们主要测试软件安装是否成功,以及观察运行LVGL程序的效果。
lvgl,开源轻量级显示框架LVGL,嵌入式Linux小项目,单片机,嵌入式硬件,arm,linux,LVGL
  最终成功运行的效果:
lvgl,开源轻量级显示框架LVGL,嵌入式Linux小项目,单片机,嵌入式硬件,arm,linux,LVGL

参考阅读

开源轻量级显示框架LVGL简介

本专栏文章参考了《百问网LVGL(v8)系列课程(韦东山·监制) 基于lvgl v8.2版本》、知乎、百度百科以及其他技术博客等资料,并结合自己的所学整理而来。如有侵权,请联系删除!水平有限,欢迎各位在评论区交流讨论!文章来源地址https://www.toymoban.com/news/detail-786522.html

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

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

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

相关文章

  • 轻量级全功能开源免费Mailu邮件服务器部署

    实践说明:基于AlmaLinux9,但适用场景不限于此。 文档形成时期:2023年 因系统或软件版本不同,构建部署可能略有差异,但本文未做细分,对稍有经验者应不存在明显障碍。 因软件世界之复杂和个人能力之限,难免疏漏和错误,欢迎指正。 占用资源少而使用成本低; 基本功

    2024年02月02日
    浏览(60)
  • 推荐一款轻量级全栈式开源测试平台!

    1、RunnerGo介绍 今天给大家介绍一个好用的测试平台:RunnerGo(开源)。RunnerGo是一款轻量级、全栈式的测试平台,支持接口管理、场景管理、性能测试、自动化测试等功能。与市面上的性能测试工具不同的是RunnerGo基于go语言研发,更加轻量级。           附上官网和开源链

    2024年02月12日
    浏览(55)
  • 轻量级.net standard微信支付登录Nuget开源库

    我个人编写的库,在我个人网站,小程序等很多地方都在使用中,大家可以搜索小程序 什邡市宅猫君网络工作室 或者到我的网站 store.zhaimaojun.cn 去体验支付和登录效果。 本库主要实现了native pay(二维码支付)jsapi pay(小程序直接调起支付),需要注意的是这是基于api3的,

    2024年03月15日
    浏览(99)
  • 架构:Oracle推出开源轻量级Java微服务框架Helidon

    在当今数字化时代,微服务架构已经成为构建灵活、可伸缩和高度可维护的应用程序的首选方式之一。Java一直以其稳定性和跨平台性而闻名,而Oracle则一直是Java的领先开发者之一。为了满足不断增长的微服务市场需求,Oracle于近年推出了开源的轻量级Java微服务框架Helidon,为

    2024年02月02日
    浏览(50)
  • YOLOv5/v8改进主干GhostNetV2系列:首发结合最新NIPS2022华为诺亚的GhostNetV2 架构:引入长距离注意力机制增强廉价操作,构建更强端侧轻量型骨干,打造高效轻量级检测器

    💡该教程为改进进阶指南,属于 《芒果书》 📚系列,包含大量的原创首发改进方式, 所有文章都是全网首发原创改进内容🚀 降低改进难度,改进多种结构演示 💡本篇文章基于 基于 YOLOv5、YOLOv8网络 首发结合最新NeurIPS2022华为诺亚针对端侧设备的GhostNetV2 架构:长距离注意力

    2023年04月23日
    浏览(60)
  • Orillusion引擎正式开源!AIGC时代下的WebGPU轻量级3D渲染引擎!

    开源生态的建设根植于社区,开发者在社区共享、共创、共赢,将会激发出无限的创造力,这就是开源最大的魅力! 选择开源,源于我们坚信,“独行快,众行远”! WebGPU经过六年的时间,终于在2023年4月6日,由Chrome团队发布。5月2号,在Chrome113版本上,WebGPU被默认启动。

    2024年02月11日
    浏览(46)
  • 轻量级 C++ UI 库:快速、可移植、自包含 | 开源日报 No.168

    Stars: 53.4k License: MIT imgui 是 C++ 的无臃肿图形用户界面,具有最小的依赖关系。 该项目的主要功能、关键特性、核心优势包括: 为 C++ 提供了一个轻量级的图形用户界面库 输出优化的顶点缓冲区,可在 3D 渲染应用程序中随时呈现 快速、可移植、与渲染器无关,并且自包含(

    2024年04月15日
    浏览(41)
  • 轻量级开源服务器Tomcat本地部署并将网页发布到公网远程访问

    目录 1.前言 2.本地Tomcat网页搭建 2.1 Tomcat安装 2.2 配置环境变量 2.3 环境配置 2.4 Tomcat运行测试 2.5 Cpolar安装和注册 3.本地网页发布 3.1.Cpolar云端设置 3.2 Cpolar本地设置 4.公网访问测试 5.结语 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大

    2024年02月04日
    浏览(81)
  • 开源轻量级分布式文件系统FastDFS本地部署并实现远程访问服务器

    FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。 FastDFS为互联网量身定制,充分考

    2024年02月04日
    浏览(65)
  • Qt优秀开源项目之二十一:遇见QSkinny,一个轻量级Qt UI库

    目录 一.QSkinny简介 二.工作原理 三.编译 QSkinny库基于Qt Graphic View和Qt/Quick中少量的核心类。它提供了一组轻量级控件,可以在C++或QML中使用这些控件。QSkinny默认是启用硬件加速的,非常适合嵌入式设备,目前已经应用于大量汽车GUI的代码实现中。正如预期的那样,它有良好的

    2024年01月23日
    浏览(61)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包