1.前言
LVGL7.9很早就已经在OneOS-Lite适配支持了,随着LVGL的版本迭代,LVGL8.2配合squareline
可视化开发工具成了更好的选择。因此,OneOS-Lite也一并支持了LVGL8.2版本。
此篇文章,则是讲讲基于OneOS-Lite适配LVGL8.2的过程,以供分享。
2.LVGL目录结构
由上图可见,摒弃杂乱,最有用的也就是:
- demos:可用于演示LVGL的图形效果,比如LVGL官网的demo就是它
- examples:可用于学习时,作为示例使用。更重要的是里面的
porting
文件夹是移植的关键 - src:LVGL最关键的源码都在里面了
- lv_conf_template.h:也是移植的关键哦,通过它可用于配置LVGL里面的功能
- lvgl.h:是LVGL里面的头文件的总包含哦,只需要include lvgl.h,就可以包含所有其中头文件啦
3.移植
可以先看看移植好的目录结构:
其中:
- lv_demo.c主要用于通过配置,快速在OneOS-Lite上实现demo的运行
- lv_ex.c主要用于通过配置,快速在OneOS-Lite上实现example的运行
- lv_port_disp.c是参考lv_port_disp_template.c,用于适配显示相关
- lv_port_indev.c是参考lv_port_indev_template.c,用于适配输入相关
- lv_port_init.c是用于把LVGL以一个组件的形式,置入OneOS-Lite中,以便启动时自动初始化
另外,其外层还有两个文件需要注意:
其中:
- lv_conf.h是参考lv_conf_template.h,用于配置LVGL的相关功能
- kconfig是和OneOS-Lite的cube工具关联,用于配置时可对LVGL的各个功能进行配置,配合lv_conf.h使用,非常方便
4.关注&&联系
开源轻量操作系统: https://gitee.com/cmcc-oneos/OneOS-Lite
docs文档中心: https://oneos-lite.com/
知知乎乎:蓁蓁