LVGL 移植

LVGL 移植

  • LVGL简介
  • 移植步骤
    • 获取LVGL源码
    • 添加LVGL源码
    • 编写MakeFile
    • 显示设备驱动
    • 输入设备驱动
    • 文件系统

LVGL简介

LVGL(Light and Versatile Graphics Library)是一个免费的轻量级开源图形库,其主要特征有:

  • 丰富的部件:开关、按钮、图表、列表、滑块、图片,等等。
  • 高级图形属性:具有动画、抗锯齿、不透明度、平滑滚动等高级图形属性。
  • 支持多种输入设备:如触摸屏、鼠标、键盘、编码器等。
  • 支持多语言:UTF-8 编码。
  • 支持多显示器:它可以同时使用多个 TFT 或者单色显示器。
  • 支持多种样式属性:它具有类 CSS 的样式,支持自定义图形元素。
  • 独立于硬件之外:它可以与任何微控制器或显示器一起使用。
  • 可扩展性:它能够以小内存运行(最低 64 kB 闪存,16 kB RAM 的 MCU)。
  • 支持操作系统、外部存储器和 GPU(不是必需的)。
  • 具有高级图形效果:可进行单帧缓冲区操作。
  • 纯 C 编写: LVGL 基于 C 语言编写,以获得最大的兼容性。

LVGL 是一款具有丰富部件,具备高级图形特性,支持多种输入设备和多国语言,独立于硬件之外的开源图形库。该网页主要包含用户文档、图片转换器和字体转换器。

LVGL官网
LVGL GitHub
百文网
LVGL官方文档

移植步骤

LVGL移植还是比较简单,主要修改如下文件:

  • lv_port_disp_template.c

获取LVGL源码

  • 源码地址:https://github.com/lvgl/lvgl.git
  • 克隆源码$git clone https://github.com/lvgl/lvgl.git
    在这里插入图片描述
    LVGL源码目录结构
    在这里插入图片描述

添加LVGL源码

  1. 在工程源码新建lvgl目录;
  2. 将源码lvgl/src目录所有文件拷贝到工程lvgl目录下;
  3. 将源码lvgl/lv_conf_template.h拷贝到工程lvgl/lv_conf.h(重命名)
  4. 将源码lvgl/examples/porting目录下所有文件拷贝并重命名去掉_template到工程源码lvgl/src/目录下
    在这里插入图片描述

在这里插入图片描述

编写MakeFile

显示设备驱动

输入设备驱动

文件系统

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/286686.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据机器学习-梯度下降:从技术到实战的全面指南

大数据机器学习-梯度下降:从技术到实战的全面指南 文章目录 大数据机器学习-梯度下降:从技术到实战的全面指南一、简介什么是梯度下降?为什么梯度下降重要? 二、梯度下降的数学原理代价函数(Cost Function)…

JAVA的三大版本

🍎个人主页 🏆​​​​​​​个人专栏:日常聊聊 ⛳️ 功不唐捐,玉汝于成 目录 前言 一、Java 二、JavaSE(Java Standard Edition) 三、JavaME(Java Micro Edition) 四、JavaE…

火柴棍等式c语言

分析&#xff1a;我们可以枚举等式&#xff0c;在判断这些等式是由多少根火柴组成&#xff0c;在把火柴数量和之前输入的比较&#xff0c;如果相等&#xff0c;那么就统计一次&#xff0c;注意的是等号和加号需要减去四根。 #include <stdio.h> int f(int a){//判断某一…

Nodejs 第二十六章(反向代理)

什么是反向代理? 反向代理&#xff08;Reverse Proxy&#xff09;是一种网络通信模式&#xff0c;它充当服务器和客户端之间的中介&#xff0c;将客户端的请求转发到一个或多个后端服务器&#xff0c;并将后端服务器的响应返回给客户端。 负载均衡&#xff1a;反向代理可以根…

二、W5100S/W5500+RP2040之MicroPython开发<DHCP示例>

文章目录 1 前言2 相关网络信息2 .1 简介2.2 DHCP工作原理2.3 DHCP的优点2.4 应用场景 3 WIZnet以太网芯片4 DHCP网络设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言 在这个智能硬件和物联网时代&#…

Linux软件管理rpm和yum

rpm方式管理 rpm软件包名称: 软件名称 版本号(主版本、次版本、修订号) 操作系统 -----90%的规律 #有依赖关系,不能自动解决依赖关系。 举例&#xff1a;openssh-6.6.1p1-31.el7.x86_64.rpm 数字前面的是名称 数字是版本号&#xff1a;第一位主版本号&#xff0c;第二位次版本…

C++数据结构——二叉搜索树详解

目录 一&#xff0c;关于二叉搜索树 1.1 概念 1.2 基本结构 二&#xff0c;二叉搜索树接口实现 2.1 插入 2.2 查找 2.3 打印 2.4* 删除 三&#xff0c;二叉搜索树接口递归实现 3.1 查找 3.2 插入 3.3 删除 四&#xff0c;二叉搜索树的默认成员函数 五&#xff0c;…

揭秘`v-if`和`v-show`的区别:选择正确指令的技巧(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

软件测试面试:测试基础题

软件测试的流程是什么&#xff1f;&#xff08;测试流程&#xff09; &#xff08;1&#xff09;需求调查&#xff1a;全面了解系统概况、应用领域、软件开发周期、软件开发环境、开发组织、时间安排、功能需求、性能需求、质量需求及测试要求等。根据系统概况进行项目所需的人…

杰发科技AC7840——SPM电源管理之低功耗模式

0、SPM简介 很早以前就听过低功耗模式&#xff0c;一直没有怎么深入了解&#xff0c;最近遇到几个项目都是跟低功耗有关。正好AutoChips的芯片都有电源管理的功能&#xff0c;在此借用AC7840的SPM对低功耗进行测试。 1、AC7840的5种功耗模式 2、AC7840的模式转换 3、唤醒 在…

iOS问题记录 - iOS 17通过NSUserDefaults设置UserAgent无效

文章目录 前言开发环境问题描述问题分析解决方案最后 前言 最近维护一个老项目时遇到的问题。说起这老项目我就有点头疼&#xff0c;一个快十年前的项目&#xff0c;这么说你可能不觉得有什么&#xff0c;但是你想想Swift也才发布不到十年&#xff08;2014年6月发布&#xff0…

pdm产品设计管理软件哪款好

PDM产品设计管理软件有很多不错的选择&#xff0c;以下是一些被广泛认可和使用的优秀软件&#xff1a; 彩虹PDM软件&#xff1a; 彩虹PDM软件 企业产品数据管理系统 旨在为企业提供一套完善的产品全生命周期管理及协同办公平台&#xff0c;集成PLM、PDM、EDM、ERB等多个 软件功…