Zephyr LVGL 应用开发教程

发布时间:2024-01-14 13:17:35

目录

什么是LVGL?

LVGL的一些关键概念

快速上手与讲解

简单按钮例程的运行

Simple Show 工程解析

LVGL官方提供的其他例程

?LVGL开发

LVGL显示文字

LVGL显示图片

?LVGL显示动图

?更多进阶用法

讲解视频

其他学习资源

关于聆思


Zephyr RTOS 原生支持了丰富的第三方库,这也是很多人和厂商选择Zephyr的原因。开源轻量级框架LVGL就是其中一个较为人熟知的第三方库,它可以让嵌入式设备也拥有可以媲美手机的UI界面。

什么是LVGL?

LVGL全称Light and Versatile Graphics Library,是一个开源的GUI库,具备资源消耗小、可移植度高的特点,因此很适合在嵌入式设备上使用。

作为一个图形库,LVGL也自带了丰富的GUI控件可以供开发者直接使用,如常用的按钮,图表,列表,滑块等,此外还支持多种图形动画的调用,相比传统驱屏绘制GUI,开发者不需要大量的代码编写量和反复的效果验证,就可以搭建出一个比较满意的GUI应用。

LVGL的一些关键概念

在开始使用LVGL前,我们需要简单了解以下LVGL一些比较重要的概念,方便对后续学习过程中的理解。

DisplayLVGL中一个物理显示器对应一个显示器驱动,LVGL支持多个物理显示器。

Screen一个Display创建多个Screen,可以理解为页面,Screen上可以添加各种LVGL支持的组件。

ObjectobjectLVGL构建GUI的基本单位,每个控件都属于Object,上面的Screen(页面)也是一个Object

快速上手与讲解

本次使用的硬件实验平台是 CSK6开发套件,目前CSK6芯片的SDK已经支持LVGL的使用,版本为LVGL8。

实战中使用的是聆思命令行指令,可以参考《聆思CSK6开发工具简介》进行一键部署开发环境。

简单按钮例程的运行

在完成CSK6芯片的开发环境安装后

在终端执行以下指令获取sample:

lisa zep create

Sample所在路径:
boards → csk6 → subsys → display → lvgl → SimpleShow

编译:

lisa zep build –b csk6011a_nano

烧录:

lisa zep flash

运行效果:

Simple Show 工程解析

工程目录下的prj.conf文件保存着这个项目相关的配置:

overlay文件则是设备树文件,定义了硬件相关的信息,包括对屏幕驱动ST7789V、触摸驱动FT5336,以及使用到的I2C接口、SPI接口的定义:

然后我们来看main.c文件

在main.c文件中,依次进行了以下的操作:

1.获取设备树的实例,也就是我们显示屏的实例

2.创建一个hello world的button的一个对象

3.然后去给button设置一个文字“hello world”,对齐方式为align center

4.创建一个count label,用来显示我们的计数器

5.在计数器的循环里面不断的去计数

6.更新显示

LVGL官方提供的其他例程

LVGL也提供了其他丰富的例程,可以通过跑这些例程,查看工程源码,了解更多的LVGL用法。

这些例程也已经上传到LSCloud中,感兴趣的伙伴可以拉取代码:

git clone git@cloud.listenai.com:listenai_xqqin/lvgl_demo.git

?LVGL基础开发

功能1:LVGL显示文字

功能2:LVGL显示图片

功能3:LVGL显示动图

获取更高阶的示例项目:

使用LVGL在屏幕上显示头肩检测&手势识别结果的项目源码已上传,可点击查看,使用的仓库分支为 feature/lvgl。

在安装lisa开发工具后可通过在命令行执行以下命令拉取代码:

lisa zep create --from-git https://cloud.listenai.com/zephyr/applications/app_algo_hsd_sample_for_csk6.git

更多进阶用法

除了以上基础用法,我们还可以使用LVGL开发一些大动图、页面切换等完整度更高的UI界面,感兴趣的同学可以观看下方的教程视频:《Zephyr LVGL 应用开发教程》。

本课程由聆思科技资深解决方案专家覃晓庆讲解,涉及内容有

  • 如何在 Zephyr 上进行高效开发高品质UI
  • LVGL 是什么,有什么先进特性
  • LVGL 的基础概念
  • 如何基于 CSK6 AI 芯片,通过 LVGL 开发有趣实用的应用。

讲解视频

Zephyr LVGL 应用开发教程

其他学习资源

Zephyr系列相关分享 | CSDN
环境搭建 | 聆思文档中心
芯片介绍 | 聆思文档中心
支持简介 | 聆思文档中心
更多视频课程

关于聆思

聆思科技是一家专注提供智能终端系统级(SoC)芯片的高科技企业,目前推出的CSK6系AI芯片已适配Zephyr RTOS。

如果你在学习、开发过程中有疑问或难题,希望与专家和更多的开发者交流,欢迎+V:listenai-csk?

欢迎各位同学联系我们进行技术相关的探讨,也可以在评论区进行提问,大家一起进步吧!

文章来源:https://blog.csdn.net/2201_75889983/article/details/128696950
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。