基于 OneOS-Lite 适配 LVGL8.2

1.前言

LVGL7.9很早就已经在OneOS-Lite适配支持了,随着LVGL的版本迭代,LVGL8.2配合squareline可视化开发工具成了更好的选择。因此,OneOS-Lite也一并支持了LVGL8.2版本。
此篇文章,则是讲讲基于OneOS-Lite适配LVGL8.2的过程,以供分享。

2.LVGL目录结构

基于 OneOS-Lite 适配 LVGL8.2_第1张图片

基于 OneOS-Lite 适配 LVGL8.2_第2张图片

由上图可见,摒弃杂乱,最有用的也就是:

  1. demos:可用于演示LVGL的图形效果,比如LVGL官网的demo就是它
  2. examples:可用于学习时,作为示例使用。更重要的是里面的porting文件夹是移植的关键
  3. src:LVGL最关键的源码都在里面了
  4. lv_conf_template.h:也是移植的关键哦,通过它可用于配置LVGL里面的功能
  5. lvgl.h:是LVGL里面的头文件的总包含哦,只需要include lvgl.h,就可以包含所有其中头文件啦

基于 OneOS-Lite 适配 LVGL8.2_第3张图片

3.移植

可以先看看移植好的目录结构:

基于 OneOS-Lite 适配 LVGL8.2_第4张图片

其中:

  1. lv_demo.c主要用于通过配置,快速在OneOS-Lite上实现demo的运行
  2. lv_ex.c主要用于通过配置,快速在OneOS-Lite上实现example的运行
  3. lv_port_disp.c是参考lv_port_disp_template.c,用于适配显示相关
  4. lv_port_indev.c是参考lv_port_indev_template.c,用于适配输入相关
  5. lv_port_init.c是用于把LVGL以一个组件的形式,置入OneOS-Lite中,以便启动时自动初始化

另外,其外层还有两个文件需要注意:

基于 OneOS-Lite 适配 LVGL8.2_第5张图片

其中:

  1. lv_conf.h是参考lv_conf_template.h,用于配置LVGL的相关功能
  2. kconfig是和OneOS-Lite的cube工具关联,用于配置时可对LVGL的各个功能进行配置,配合lv_conf.h使用,非常方便

基于 OneOS-Lite 适配 LVGL8.2_第6张图片

4.关注&&联系

开源轻量操作系统: https://gitee.com/cmcc-oneos/OneOS-Lite

docs文档中心: https://oneos-lite.com/

知知乎乎:蓁蓁

你可能感兴趣的