1 开始指南
要开始学习lvgl了,在使用之前还需要了解一些框架知识,/*这些内容较少不想另开随笔,就一并放这*/;
github源码:LVGL (github.com)
lvgl官方文档:Introduction — LVGL documentationGet started — LVGL documentation
百问网翻译:Objects(对象) — 百问网LVGL中文教程文档 文档 (100ask.net)
正点原子:2023年新版手把手教你学LVGL — 正点原子资料下载中心 1.0.0 文档 (openedv.com)
8.0版本是20210601发布,8.1版本是20211110发布,8.2版本是20220131发布,8.3版本是20220706发布的;
v7和v8的函数接口差别较大,v8各版本看了一下源码,有一些逻辑差别,还没看到接口差别,应该问题不大;
下面以8.3.9版本为例;
1.1 如何开始
这个lvgl的官网给了一个卷王如何学习lvgl的时间表;可以参考参考;
1.1.1 花三分钟的时间看看在线的交互例程,先了解一下lvgl可以干啥;
1.1.2 花五分钟的时间看看介绍文档;了解lvgl的特性、器件需要的硬件支持、项目文件分布;可以多看几遍;
1.1.3 花十五分钟的时间读读概览;了解如何移植lvgl到嵌入式系统,widgets、events、parts、states、styles,themes;
1.1.4 下载一个仿真项目跑一跑;
1.1.5 然后自己试试example;
1.1.6 看一下lvgl在各个平台上的特性,比如仿真平台、开发板接口兼容、实时系统兼容等;
1.1.7 porting指导,看一下lvgl的接口是如何兼容开发板驱动使用的;
1.1.8 花2-3小时看一下overview_lvgl的语法和框架,然后再看看widgets_控件的特性;就差不多了;
这个官方给的时间安排咋这么卷,我只是一棵韭宝宝呀;
2 源码文件夹
以下代码是lvgl一直在更新的release版本代码分布;移植的时候就是移植这些代码到对应的系统上;
2.1 src** lvgl源码,重要;
2.2 demos** lvgl官方演示代码,一开始测试使用,久了就可以删掉自己写了;
2.3 examples** lvgl实例,输入输出接口文件,其中porting接口文件重点关注;
2.4 lvgl.h** lvgl包含的头文件包含;
2.5 lv_conf_templated.h** lvgl的功能开关,宏文件决定是否开启各部分功能;相当重要;
即lv_conf.h,ctrl+x 到和lvgl文件夹并列的目录下;
2.6 docs lvgl文档
2.7 env_support 环境支持,mdk,esp,rtthread
2.8 scripts lvgl手稿,同python相关;
2.9 tests 官方人员的测试代码;
3 移植
显示设备,输入输出设备,数据传输方式dma2d,os系统,外置sram,内存管理算法等;是移植lvgl需要考虑的主要部分;
以上部分基本就是整个移植的主要流程了;对于lvgl而言,还需要程序代码提供时基,通常是由rtos来为lvgl提供时基,用来刷新系统事件;
3.1 codeblocks仿真
对于codeblock仿真而言,需要使用官方提供的lv_port_win_codeblocks官方例程;
lvgl/lv_port_win_codeblocks at release/v8.3 (github.com)
该例程的下载可以使用git clone --recursive url递归下载;也可以先下载了master的zip后,再分别下载lv_drivers文件夹、lvgl文件夹;
lv_drivers文件夹: 计算机输入输出设备的驱动,计算机仿真的驱动,codeblocks仿真需要的驱动;
lvgl文件夹: lvgl源码,不同版本的源码直接替换整个lvgl文件夹,就可以用cb仿真不同版本的lvgl;
3.1.1 注意事项
2023-08-10今天测试了一下如何移植pc simulator仿真,全部都有问题,仿真器没有跑起来;
2023-08-17这个问题是因为我在裁剪lvgl的时候只裁剪了lvgl的源码,但是没有给他适配cb仿真需要的环境;
cb仿真需要lv_drivers文件夹的驱动支持,和sdl2库的多媒体层支持;
虽然报错报的是头文件问题,但其实是不是头文件配置问题,当然啦从某些角度说也可以理解为头文件问题;
3.2 visual studio仿真
对于visual studio仿真而言,也需要使用官方提供的例程来跑;
它默认开启了win32的文件系统,这个项目文件里的文件夹较多,还没具体看看有啥用,先放着;
虽然这个vs比较大,但是装起来比较方便智能,作为应用层开发确实还是比较方便的,虽然我还没咋用它;
标签:指南,仿真,1.1,开始,lv,文件夹,lvgl,源码 From: https://www.cnblogs.com/caesura-k/p/17640978.html