首页 > 其他分享 >lvgl:开始指南

lvgl:开始指南

时间:2023-08-19 17:23:24浏览次数:46  
标签:指南 仿真 1.1 开始 lv 文件夹 lvgl 源码

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

相关文章

  • PostgreSQL 源码性能诊断(perf profiling)指南(含火焰图生成分析FlameGraph) - 珍藏级
    PostgreSQL源码性能诊断(perfprofiling)指南(含火焰图生成分析FlameGraph)-珍藏级作者digoal日期2016-11-28标签PostgreSQL,Linux,perf,性能诊断,stap,systemtap,strace,dtrace,dwarf,profiler,perf_events,probe,dynamicprobe,tracepoint......
  • t113-c-lvgl-animation之bug
    这个bug困扰我很久了,应为官方的软件好像不适配什么的,创建出来的代码不能用在我所用的8.3.9中,原因在于:callback函数:这两个函数在helpers.c文件里面定义的只有一个lv_obj_set_style_opa()函数,然而这个函数只能控制screen的opa(我自己试过的)所以是需要改动的为了适配我创建了一个新......
  • 【LeetCode1384. 按年度列出销售总额】MySQL使用with recursive根据开始日期和结束日
    题目地址https://leetcode.cn/problems/total-sales-amount-by-year/description/代码WITHRECURSIVEDateSeriesAS(SELECTproduct_id,period_startASsale_date,period_end,average_daily_salesFROMSales--Assumingyourtablenameissales_dataUN......
  • 【LeetCode1225. 报告系统状态的连续日期】MySQL使用lag,lead得到连续段的:开始标志,结束
    目录题目地址题目描述代码题目地址https://leetcode.cn/problems/report-contiguous-dates/description/题目描述Asystemisrunningonetaskeveryday.Everytaskisindependentoftheprevioustasks.Thetaskscanfailorsucceed.Writeasolution toreportth......
  • Codespaces个性化后台服务器配置指南
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos前文概览在前文《浏览器上写代码,4核8G微软服务器免费用,Codespaces真香》中,咱们以一个Java程序员的视角体验了GitHub的Codespaces产品的beta版,用浏览器编码并运行,体验上接......
  • Python程序员Visual Studio Code指南2 Hello World
    2HelloWorld2.1安装Python扩展VisualStudioCode的Python扩展提供了对Python语言的支持,包括语法着色、代码补全、过滤、调试、代码导航和代码格式化等功能,以及JupyterNotebook支持等Python特有的功能。您可以在VisualStudioCode的扩展视图中安装Python扩展。与从扩展市......
  • 项目制造企业购买软件的指南与秘密[转译]
    在当今充满挑战的商业环境中,中型制造商面临着来自国内外竞争的越来越大的压力——降低成本、提高和保持质量以及缩短交货时间的压力。大型装备的设计师和建造者面临着特殊的挑战,因为他们建造的产品非常复杂,而且这种基于项目的、按订单设计(ETO)环境的独特要求。如今,公司......
  • bat文件固定到开始菜单
    首先,创建快捷方式,如果bat中没有关闭终端的指令就使用/c,对象的位置设置为cmd/cC:\User\xxx.batcmd/c“批处理文件路径”:批处理文件执行完后窗口自动关闭;cmd/k“批处理文件路径”:批处理文件执行完后后窗口不会自动关闭;之后,右键得到的快捷方式即可......
  • cf tool 使用指南
    本文作者使用powershell而非cmd。本文作者使用powershell而非cmd。本文作者使用powershell而非cmd。下载下载地址:https://github.com/woshiluo/cf-tool/releases/tag/v1.0.1这不是xalanq的原版,原版有bug。对于Windows系统,请下载cf.exe。配置开始首先,......
  • 现代CSS布局技术:Flexbox和Grid的使用指南和最佳实践
    在现代Web开发中,CSS布局技术变得越来越重要。Flexbox和Grid是两种常用的CSS布局技术,它们可以帮助我们创建灵活、可维护的布局。Flexbox布局Flexbox是一种基于弹性盒子模型的布局技术,它可以让我们更加容易地创建水平或垂直方向上的布局。以下是Flexbox的常见属性:容器属性disp......