lvgl模拟器

news2024/11/19 9:33:40

学习目标

  • 能够搭建lvgl模拟器开发环境

学习内容

项目源码准备

http://docs.lvgl.io/latest/en/html/get-started

下载模拟器项目

GitHub - lvgl/lv_port_pc_eclipse: PC simulator project for LVGL embedded GUI Library. Recommended on Linux and Mac.

下载lvgl源码

GitHub - lvgl/lvgl: Embedded graphics library to create beautiful UIs for any MCU, MPU and display type. It's boosted by a professional yet affordable drag and drop UI editor, called SquareLine Studio.

下载lvgl drivers源码

GitHub - lvgl/lv_drivers: TFT and touch pad drivers for LVGL embedded GUI library

新建工程
  1. 创建目录lvgl_simulator,将此目录作为项目目录.
  2. lv_port_pc_eclipse_master.zip的内容解压到项目目录.
  3. lvgl_master.zip解压,重命名为lvgl,然后移动到项目目录中.
  4. lv_drivers_master.zip解压,重命名为lv_drivers,然后移动到项目目录中.

操作完成后,目录结构如下:

配置MinGW环境

MinGW(Minimalist GNU for Windows)是一个在Windows平台上开发和运行本地(native)应用程序的开发工具集。MinGW的目标是提供一个轻量级、最小化的GNU工具集,使开发者能够在Windows环境下使用类Unix的工具和编程环境。

MinGW的主要组成部分包括:

  1. GCC(GNU Compiler Collection): 一个强大的编译器套件,包括C、C++、Fortran等语言的编译器。
  2. Binutils: 一组用于处理二进制文件的工具,包括汇编器、链接器等。
  3. MSYS(Minimal SYStem): 一个提供类Unix shell环境的工具,使得在Windows环境下使用GNU工具更为方便。

MinGW的主要目标是让开发者能够在Windows上使用开源和跨平台的软件开发工具,而无需依赖于Microsoft Visual Studio等闭源工具。使用MinGW,开发者可以编写和编译与Windows API无关的本地应用程序,这对于跨平台开发和移植代码至Windows平台是非常有用的。

从网盘中下载MinGW之后,解压,然后将它的路径配置到系统的环境变量中

链接:百度网盘 请输入提取码

提取码:6666

1. 解压缩

例如,我将mingw64解压缩到我电脑的C:\devtools\mingw64

2. 配置环境变量

3. 验证环境

使用where命令,可以验证当前配置是否正确

使用VSCode编译运行

1. 安装c/c++插件

2. 通过VSCode工具打开准备好的源码目录

3. 编译运行

打开后,默认会编译一次,如下图

  • 左侧是源码目录结构
  • 右侧输出为编译信息
  • 下方是操作面板

操作面板中有:

  • CMake配置
  • GCC配置
  • Build对源码进行编译
  • 三角形为运行按钮

如果GCC配置部分为空,点击GCC方面进行配置

点击Build对源码进行编译,编译完成后,会多出binbuild目录,将前面备份的SD2.dll拷贝到bin这个目录中。

然后点击下方栏目三角形的运行按钮,运行结果如下:

SDL环境准备(选做)

下载SDL2源码

https://github.com/libsdl-org/SDL/releases/download/release-2.0.22/SDL2-devel-2.0.22-mingw.zip

解压源码

SDL2-devel-2.0.22-mingw.zip解压,解压后目录如下:

下载cmake配置文件

https://github.com/libsdl-org/SDL/tree/SDL2/mingw/pkg-support/cmake

下载 sdl2-config-version.cmakesdl2-config.cmake两个文件。

新建目录cmake,将这两个文件放入到目录中。

然后将cmake目录,放入到SDL解压目录中,如下图所示:

备份SDL2.dll文件

来到SDL2-2.0.22\x86_64-w64-mingw32\bin目录,备份SDL2.dll文件,等待后续使用

配置MinGW环境

拷贝SDL2-2.0.22下的以下两个目录:

  • cmake
  • x86_64-w64-mingw32

来到MinGW的安装目录,将拷贝的这两个目录粘贴到此目录下,如下图:

练习题

  • 搭建lvgl模拟器开发环境

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一键制作底片效果,让视频复古感倍增!

你是否厌倦了千篇一律的视频效果,想要尝试一些与众不同的视觉体验?是否想要让你的视频散发出一种复古、怀旧的气息?现在,有了我们的底片效果制作工具,这些愿望全部实现 首先第一步,我们要进入视频剪辑高手…

echarts柱状图顶部设置倾斜并且展示数字

将下面代码直接复制粘贴在此运行就能查看效果Apache ECharts,一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。https://echarts.apache.org/examples/zh/editor.html?care…

脚本计算器1.5

python是热门语言,库多,界面设计麻烦。 aardio是国人开发的编程语言,可以快速开发界面。 aardio核心下载包只有几兆,免安装,写import py3执行可以自动安装python嵌入包 import py3; import web.form; var wb web.form(mainFor…

eBPF运行时安全

引言 eBPF作为当前linux系统上最为炙手可热的技术,通常被用于网络流量过滤和分析、系统调用跟踪、性能优化、安全监控,当下比较知名的项目有Cilium、Falco等。 Cilium 是一个开源的容器网络和安全性项目,致力于提供高效的容器通信和强大的安…

关于cdn资源失效的问题,一个月了都解决不了,七牛云技术这么差的吗?

起因 最近登录我的gpt镜像网站后,发现关于面具的图片资源都失效了 CoCo-AI 于是紧急使用 F12 排查原因 发现所有图片拿出来都已经无法访问了。看来是资源出了问题 在网上一番搜索后发现是 cdn.staticfile.org 失效导致的,而该静态资源属于七牛云&#…

关于晶振回流焊工艺,你知道哪些呢!

晶振,作为现代电子设备中的核心元件,其制造过程需要经过多道精密的工艺流程。其中,回流焊工艺是晶振制造过程中一个至关重要的环节。本文将详细介绍回流焊工艺在晶振制造中的应用,以及关键的注意事项。 一、回流焊工艺简介 回流…

久坐提醒多久提醒一次比较好 让电脑每小时提醒更健康

作为一名上班族,我每天都与电脑为伴,久坐几乎成了我的常态。但随着时间的推移,我发现久坐真的有很多坏处。不仅容易腰酸背痛,而且有时还会感觉头晕目眩,工作效率也大打折扣。 为了改变这一状况,我开始寻找…

# 由cmos到基本逻辑门

由cmos到基本逻辑门 cmos 如图所示, g 0 g0 g0时,p管连通,n管断开;否则相反。 Not gate p p p管在上, n n n管在下;当 A 1 A1 A1, p p p断开, n n n接通, Y Y Y输出G…

在线文本差异对比工具

Text Compare! - Find differences between two text files

Langchain 与 Elasticsearch:创新数据检索的融合实战

1、简介 在信息爆炸的时代,有效地检索和处理数据变得至关重要。Langchain 和 Elasticsearch 的结合,为我们提供了一个强大的工具,以更智能的方式进行数据检索和分析。 作为一名拥有多年 Elasticsearch 实战经验的技术博主,我将在本…

D1380/D1381串行计时芯片,2.0V~5.5V 工作电流: 2V时 与TTL 兼容,采用DIP8、SOP8封装

D1380/D1381是一个带秒、分、时、日、日期、月、年的串行时钟保持芯片,每个月多少天以及闰年能自动调节, D1380/D1381低功耗工作方式, D1380/D1381用若干寄存器存储对应信息,一个32.768kHz 的晶振校准时钟,为了使用最小弓|脚,D1380/D1381使用…

操作系统复习 九-十二 章

操作系统复习 九-十二 章 文章目录 操作系统复习 九-十二 章第九章 单处理器调度调度的概念调度的时机、切换与过程进程调度方式调度的基本准则进程的挂起态与七状态模型典型的调度算法 第十一章 I/O管理和磁盘调度I/O 设备I/O控制方式I/O子系统的层次结构IO子系统概述IO调度概…

各种排序算法学习笔记

Docshttps://r0dhfl3ujy9.feishu.cn/docx/XFlEdnqv9oCEoVx7ok8cpc4knnf?fromfrom_copylink如果你认为有错误,欢迎指出!

大数据开发之Hive(查询、分区表和分桶表、函数)

第 6 章:查询 6.1 基本语法及执行顺序 1、查询语句语法 select_expr, select_expr, ... FROM table_reference [WHERE where_condition] [GROUP BY col_list] [ORDER BY col_list] [CLUSTER BY col_list| [DISTRIBUTE BY col_list] [SORT BY col_list]] [LIMIT n…

RK3568驱动指南|驱动基础进阶篇-进阶2 让驱动快一点被加载实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

【每日一题】删除排序链表中的重复元素 II

文章目录 Tag题目来源解题思路方法一:遍历链表 写在最后 Tag 【遍历链表】【链表】【2024-01-15】 题目来源 82. 删除排序链表中的重复元素 II 解题思路 几乎所有链表的题目都可以先将链表转成数组,再对数组执行操作,最后将数组还原回链表…

手写Springboot核心流程

目录 Springboot启动流程 核心代码 验证效果 Springboot启动流程 创建Spring容器, 扫描并启动容器选择Tomcat/Jetty创建DispatchServlet, 与spring容器绑定将DispatchServlet添加到Tomcat启动Tomcat 核心代码 1. 首先, 创建两个module 2. maven依赖 springboot模块依赖 &l…

网络安全|GitHub 已成为恶意软件传播的严重污染源

Recorded Future 凸显了全球合法平台威胁的上升。 根据 Recorded Future最近 的一份报告,开发者平台GitHub最近已成为黑客用来托管和传播恶意软件的流行工具。 该平台为攻击者提供了将其行为伪装成合法网络流量的能力,这使得跟踪和确定攻击者的身份变得…

【漏洞复现】Sentinel Dashboard默认弱口令漏洞

Nx01 产品简介 Sentinel Dashboard是一个轻量级的开源控制台,提供机器发现以及健康情况管理、监控、规则管理和推送的功能。它还提供了详细的被保护资源的实际访问统计情况,以及为不同服务配置的限流规则。 Nx02 漏洞描述 Sentinel Dashboard存在默认弱…

当前页面一键回关

CSDN博客关注页面当前页面一键回关所有fans代码 f12打开控制台,输入以下代码 // 获取所有的button元素,根据它们的属性进行筛选 var buttons document.querySelectorAll("button[data-v-0947769e][data-ref^li_][data-id][classattention-btn]&qu…