开启掘金成长之旅!这是我参与「掘金日新计划 · 4 月更文挑战」的第 15 天,点击查看活动详情
一、LVGL简介
LVGL(Light and Versatile Graphics Library)轻量级通用型图形库,是一个免费的开源图形库,提供了创建嵌入式 GUI 所需的一切,具有易于使用的组件,美观的视觉效果和低内存占用等特点。支持触摸屏操作,移植简单方便,开发者一直在不断完善更新。
特点:
- 丰富且强大的模块化图形组件:按钮 (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
- 支持模拟器仿真,可以无硬件依托进行开发
- 丰富详实的例程
- 详尽的文档以及API参考手册,可线上查阅或可下载为PDF格式
- LVGL官网:lvgl.io
- 官方文档:docs.lvgl.io/master/intr…
- Github仓库:github.com/lvgl/lvgl
- 国内码云仓库:gitee.com/mirrors/lvg…
- 正点原子教程:www.openedv.com/docs/book-v…
二、搭建环境
2.1 安装CodeBlocks
官网下载:www.codeblocks.org/downloads/b…
- 选择带编译器的版本:codeblocks-20.03mingw-setup.exe
- 安装完成
2.2 下载LVGL的CodeBlocks模拟器源码
Github仓库:github.com/lvgl/lv_sim…
点开 lv_sim_codeblocks_win-master 文件夹,lv_demos、lvgl_drivers 和 lvgl 文件夹是空的,所以还要下载相关的库,并解压到这三个文件夹中。
-
lv_demos库下载:github.com/lvgl/lv_dem… 并解压到上图lv_demos文件夹中
-
lvgl_drivers库下载:github.com/lvgl/lv_dri… 并解压到lvgl_drives文件夹中
-
lvgl库下载:github.com/lvgl/lvgl/t… 并解压到lvgl文件夹中
三、模拟仿真
- 打开 LittlevGL.cbp 文件
- 编译运行(Ctrl+F5)
- 编译错误,重新选择工具链
Settings ——> Compiler... ——> Toolchain executables 选择CodeBlocks安装路径下的MinGW,重新构建,编译
- 查看效果:
• 由 Leung 写于 2022 年 2 月 9 日
• 参考:codeblocks运行lvgl8