LVGL 之 windows 上 lvgl 模拟器 基于 Visual Studio 搭建方法的简单整理

2023-05-16

mark:
GUI Guider与lvgl联合仿真(结合stm32实验进行演示,含触摸屏实验计数器与计算器)
https://blog.csdn.net/gudao07/article/details/127525864

LVGL 之 windows 上 lvgl 模拟器 基于 Visual Studio 搭建方法的简单整理
https://blog.csdn.net/u014361280/article/details/127732554

LVGL 之 windows 上 lvgl 模拟器 基于 Visual Studio 搭建方法的简单整理

目录

LVGL 之 windows 上 lvgl 模拟器 基于 Visual Studio 搭建方法的简单整理

一、简单介绍

二、visual studio 安装

 三、搭建 lvgl 模拟器工程

方法一:git clone下载工程

方法二:git 直接下载压缩包


一、简单介绍

LVGL  的PC模拟器的使用。PC 模拟器的好处一方面是我们没有实际硬件的时候也可以学习lvgl,另一方面就是我们在实际设计GUI界面的时候可以大大减少烧录代码地次数。我们可以先在PC模拟器上设计好,然后再把代码移到嵌入式工程里,编译、烧录到板子里。

lvgl 模拟器介绍

lvgl的模拟器配合不同的 IDE软件可以运行在不同的操作系统上,比如 Windows, Linux or OSX,下面是 littleVGL 所支持的 IDE 软件种类 :

LVGL(Light and Versatile Graphics Library)轻量级通用型图形库,是一个免费的开源图形库,提供了创建嵌入式 GUI 所需的一切,具有易于使用的组件,美观的视觉效果和低内存占用等特点。支持触摸屏操作,移植简单方便,开发者一直在不断完善更新。

特点:

  • 丰富且强大的模块化图形组件:按钮 (buttons)、图表 (charts)、列表 (lists)、滑动条 (sliders)、图片 (images) 等
  • 高级的图形引擎:动画、抗锯齿、透明度、平滑滚动、图层混合等效果
  • 支持多种输入设备:触摸屏、 键盘、编码器、按键等
  • 支持多显示设备
  • 不依赖特定的硬件平台,可以在任何显示屏上运行
  • 配置可裁剪(最低资源占用:64 kB Flash,16 kB RAM)
  • 基于UTF-8的多语种支持,例如中文、日文、韩文、阿拉伯文等
  • 可以通过类CSS的方式来设计、布局图形界面(例如:Flexbox、Grid)
  • 支持操作系统、外置内存、以及硬件加速(LVGL已内建支持STM32 DMA2D、NXP PXP和VGLite)
  • 即便仅有单缓冲区(frame buffer)的情况下,也可保证渲染如丝般顺滑
  • 全部由C编写完成,并支持C++调用
  • 支持Micropython编程,参见:LVGL API in Micropython
  • 支持模拟器仿真,可以无硬件依托进行开发
  • 丰富详实的例程
  • 详尽的文档以及API参考手册,可线上查阅或可下载为PDF格式

运行的硬件要求:

相关学习网址:

  • 基于野牛开发板的 lvgl 6.0 例程:LittlevGL_Demo: 适用于野牛开发板的 LittlevGL 的 demo 程序,所有例程公用一个库,有 MDK 版本和 VS 模拟器版本
  • 基于荔枝派Nano开发板的lvgl教程:http://nano.lichee.pro/application/littlevgl.html
  • lvgl在线体验例程(可在浏览器体验):Live demos - Test LVGL in your browser | LVGL
  • lvgl基于Visual sudio 的PC模拟器GitHub - lvgl/lv_port_win_visual_studio: LVGL Windows Simulator Visual Studio Edition
  • LVGL官网:https://lvgl.io
  • 官方文档:https://docs.lvgl.io/master/intro/index.html
  • Github仓库:https://github.com/lvgl/lvgl
  • 国内码云仓库:https://gitee.com/mirrors/lvgl 
  • 正点原子教程:http://www.openedv.com/docs/book-videos/zdyzshipin/4free/littleVGL.html

本案例基于环境:

1、windows 10

2、visual studio 2019

3、lvgl 8.3.0

二、visual studio 安装

1、官网下载安装 visual studio

下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux

2、下载好 visual studio ,安装即可,然后打开 installer ,确认安装 C++ 环境

 三、搭建 lvgl 模拟器工程

这里有两种方法搭建:

1、git clone下载工程

2、git 直接下载压缩包

方法一:git clone下载工程

默认已经安装 git 环境

1)git 获取克隆地址:https://github.com/lvgl/lv_port_win_visual_studio.git

国内镜像地址:mirrors / lvgl / lv_port_win_visual_studio · GitCode

 2)在要下载到的文件夹中右键,打开 Git Bash

 3)使用 git clone 下载工程

因为 lvgl 模拟器包含子工程,所以使用  git clone --recursive  或者  git clone --recurse-submodules 递归下载

命令: git clone --recursive https://github.com/lvgl/lv_port_win_visual_studio.git

 4)其中可能会遇到 OpenSSL SSL_read: Connection was reset, errno 10054 问题

使用  git config --global http.sslVerify "false" 解除 SSL认证即可,然后重复之前的命令下载即可

5)下载完后,还没有完,你会发现子目录 “freetype”、“lv_drivers”、“lvgl”、为空

注意:clone 其中有些错误可以忽略先

 

6)进入代码根目录,使用git 下载子模块

命令:cd xxx文件夹;git submodule update --init --recursive

 7)子目录 “freetype”、“lv_drivers”、“lvgl” 就有了对应的代码

 8)进入代码工程 根目录:lv_port_win_visual_studio,双击 LVGL.Simulator.sln 打开工程

 9)工程打开如图

 10)切换平台,这里切换为 x64

 11)点击 "本地 Windows 调试器",运行工程

12)运行效果如图

方法二:git 直接下载压缩包

1)在官网下载lvgl 模拟器压缩包

下载地址:GitHub - lvgl/lv_port_win_visual_studio: LVGL Windows Simulator Visual Studio Edition

2)解压工程,在下载  子目录 “freetype”、“lv_drivers”、“lvgl” 子模块代码

  • freetype库下载:https://github.com/freetype 并解压到上图freetype文件夹中

  • lvgl库下载:https://github.com/lvgl/lvgl 并解压到lvgl文件夹中

  • lvgl_drivers库下载:https://github.com/lvgl/lv_drivers 并解压到lvgl_drives文件夹中

3)打开 lv_port_win_visual_studio,双击 LVGL.Simulator.sln 打开工程

 4)工程打开如图

 5)切换平台,这里切换为 x64

6)点击 "本地 Windows 调试器",运行工程

7)运行效果如图

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LVGL 之 windows 上 lvgl 模拟器 基于 Visual Studio 搭建方法的简单整理 的相关文章

  • 使用Python C API时如何中断Windows上的Python子进程?

    我可以用以下命令中断 Windows 中的子进程 import ctypes ctypes windll kernel32 GenerateConsoleCtrlEvent 1 proc pid 但前提是我通过正常的 Python 进程运行
  • 使用 Visual Studio 调试时看不到 boost::可选内容

    如果我尝试直接查看变量 我会看到一个 符号 如果我创建一个手表调用is initialized函数 我收到以下错误 CXX0033 错误 OMF 类型信息错误 我没有找到太多与使用 Google Boost 相关的错误信息 还有其他人经历过
  • 是否有一个 WPF 控件可以在类似资源管理器的视图中显示文件列表?

    我经常需要向用户显示文件列表 例如作为搜索查询的结果 通常我会描述我自己的简单 DataTemplateFileInfo 但我懒得重新实现资源管理器的所有功能 视图 排序 上下文菜单和拖放 我觉得这个问题很常见 并且有人已经为此目的组装了一
  • 如何使用 Java 确定 Windows 是 32 位还是 64 位体系结构?

    如何使用 Java 确定 Windows 是 32 位还是 64 位体系结构 我不太相信读取 os arch 系统变量 如果用户在 64 位系统上运行 64 位 JVM 则它可以工作 如果用户在 64 位系统上运行 32 位 JVM 则它不
  • 当互联网连接或断开时收到通知

    我有一个在 Net 4 0 客户端下开发的 WPF 和 C 桌面应用程序 必须根据 PC 上的互联网是否可用来显示或隐藏某些数据的框架 这意味着我必须能够尽快检测到互联网是否断开或连接 以便做出反应 例如 断开无线网络或拔掉网络电缆 当我进
  • Sublime Text 2 和 MinGW

    再会 任何人都可以分享他们如何将 MinGW 编译器附加到 Sublime 的经验吗 我在互联网上找到了一个配置 但是当我运行编译的程序时 会弹出错误 其中缺少 MinGW bin 中的文件 Config cmd mingw32 g exe
  • 在 Windows 和 Mac OS 中使用 Python 中的默认操作系统应用程序打开文档

    我需要能够在 Windows 和 Mac OS 中使用默认应用程序打开文档 基本上 我想要执行与双击资源管理器或 Finder 中的文档图标时发生的相同操作 在 Python 中执行此操作的最佳方法是什么 Use the subproces
  • WINAPI_FAMILY_PARTITION 有何作用?

    我正在阅读头文件的定义winapifamily h并注意以下定义WINAPI FAMILY PARTITION define WINAPI FAMILY PARTITION Partitions Partitions 该宏的一般用法 作为示
  • 构建后如何在 Windows 上安装 Qt?

    我找不到任何有关如何安装基于 Windows 的 Qt 的信息 在维基文章中如何在 Mac 和 Linux 上设置影子构建 http developer qt nokia com wiki Qt shadow builds有描述 prefi
  • Windows 窗体中的本机外观(类似资源管理器)主菜单

    除了使用 MenuStrip 之外 还有其他方法在 C 中创建主菜单吗 它看起来与标准资源管理器菜单不相似 我在这里做错了什么吗 我只想要标准应用程序主菜单 例如浏览器菜单 听起来您想要一个尊重操作系统主题的菜单 MainMenu 类将执行
  • 使用 PHP 生成 Windows .lnk 文件

    我正在开发一个项目 其中涉及运行 ProFTPd 的 FTP 服务器和为用户创建帐户的 PHP MySQL 后端 创建帐户后 系统会向用户发送电子邮件 其中包含其帐户详细信息以及下载 FileZilla 或 Cyber Duck 的说明 具
  • 适用于 Windows 的 NPM 包“bin”脚本

    Cucumber js 提供了一个命令行 二进制文件 这是一个简单的 js文件包含一个shebang操作说明 usr bin env node var Cucumber require lib cucumber 二进制文件在中指定packa
  • AWS cli windows - 在将路径添加到环境变量后仍然收到“'aws'无法识别...”?

    找到以下说明here https stackoverflow com questions 42099986 setting up the path so aws cli works properly 和其他地方 我将 USERPROFILE
  • Windows中有没有办法根据Python的需要抛出BSOD?

    我正在制作一个脚本来测试一些始终运行的软件 并且我想测试它从 BSOD 的恢复情况 有没有一种方法可以从 python 抛出蓝屏而不调用外部脚本或可执行文件 如 OSR 的 BANG 有趣的事情 Windows 内核函数可以做到这一点 我假
  • 监控网络连接带宽的最佳工具

    我正在寻找一个非常简单的工具来监控所有应用程序的带宽 不需要流量监视等额外功能 我只是对带宽感兴趣 我已经知道 Wireshark 这很棒 但我正在寻找更多类似 TcpView 来自 Sysinternals 的出色工具 以及当前带宽指示的
  • Windows:如何测试高dpi下的UI?

    我想测试我的应用程序的反应high dpi 设置 我指的不仅仅是 120dpi 我想测试更高的 dpi 设置 例如 150dpi 300dpi 600dpi 1000dpi 1200dpi 我的开发机器的显卡无法达到 300dpi 甚至 1
  • 如何使用端口 1025-5000 作为临时端口来解决 WinXP 问题?

    如果您使用端口 0 而不是非零端口创建 TCP 客户端套接字 则操作系统会为您选择任何空闲的临时端口 大多数操作系统选择临时端口IANA 动态端口范围 http www iana org assignments port numbers49
  • 从 Windows 任务列表返回命令行

    我正在寻找一个命令来获取在 Windows 任务管理器中写入的命令行 我正在使用tasklist fo CSV v但它不提供我查看任务管理器时得到的命令行 我附上一张图片来说明我的意思 它是最右边的一列 我在系统调用中需要这些信息r 只是为
  • java路径没有指向windows中的sdk路径

    我已经设置了环境变量 JAVA HOME C Program Files Java jdk1 8 0 144 并将 C Program Files Java jdk1 8 0 144 bin 添加到 Path 在用户变量和系统变量中 但它指
  • 启动时运行的程序而不位于启动文件夹中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 某些程序 某种恶意软件 在启动时在我的 Windows 7 上运行 但我的启动文件夹是空的 即使在删除文件夹中所有程序的隐藏和系统属性之后

随机推荐

  • PAT 1005 Spell It Right

    Given a non negative integer N your task is to compute the sum of all the digits of N and output every digit of the sum
  • 在PC的Ubuntu虚拟机上完成一个TCP 服务器,在设备上实现一个TCP客户端

    要求 在虚拟机上实现一个服务器 xff0c 设备终端上实现一个客户端设备客户端每隔 1 秒 检测一次网卡eth2 1 xff08 WAN口网卡 xff09 的信息 xff08 使用popen调用ifconfig xff09 然后将RX和TX
  • TCP发送数据、接受数据及TCP通信程序练习

    目录 一 TCP发送数据 二 TCP接收数据 三 TCP通信程序练习 一 TCP发送数据 Java中的TCP通信 xff1a Java对于基于TCP协议的网络提供了良好的封装 xff0c 使用Socket对象来代表两端的通信端口 xff0c
  • slam学习笔记

    ubuntu20 04 使用vs code编写 现放cmake文件 xff08 记得链接库文件和配置C 43 43 版本 xff09 cmake minimum required VERSION 2 8 project learingMat
  • SLAM学习笔记

    编译环境ubuntu20 04 vs code xff08 李群 李代数 xff09 先是CMakeLists txt cmake minimum required VERSION 3 0 project learning sophus s
  • SLAM学习笔记

    编译环境ubuntu20 04 xff0c vs code 先cmake文件 cmake minimum required VERSION 2 8 project image set CMAKE BUILD TYPE 34 Release
  • SLAM学习笔记

    编译环境ubuntu20 04 vscode ceres库2 0 0 g2o库同gaoxiang12 slambook2中的版本号一致 cmake文件 cmake minimum required VERSION 2 8 project c
  • 数据结构之C语言单链表操作

    实验目的 xff1a 1 xff0e 创建一个带头结点的单链表 2 xff0e 插入元素操作 xff1a 将新元素x插入到单链表head的头部 将新元素x插入到单链表head的尾部 将新元素x插入到单链表head中第i个元素之后 3 xff
  • DBUS入门与C编程

    https blog csdn net weixin 45566765 article details 125028296 一 D Bus简介 1 D Bus是什么 D Bus最主要的用途是在 Linux 桌面环境为进程提供通信 xff0c
  • 模拟IIC——关于模拟IIC的IO口的配置选取推挽输出还是开漏输出,以及是否需要更改IO口输入输出模式和是否需要对IO配置上拉

    在使用模拟IIC的时候 xff0c 观看别人的程序的时候发现了程序之间的一些不一样的地方 代码1 IO方向设置 define SDA IN GPIOB gt MODER amp 61 3 lt lt 9 2 GPIOB gt MODER 6
  • C语言——链表

    C语言 链表 链表是一种基础的数据结构类型 xff0c 一种能够动态维护数据的线性数据表 链表的数据以结点形式存储信息 xff0c 并通过结点之间的指针实现结点之间的衔接 为什么要用链表 xff1f 链表和数组类似 xff0c 但是功能比数
  • 学习记录 | ZigBee协议栈工作流程

    第一次来CSDN记录一下学习过程 xff0c 其实就是笔记啦 之前用Typora 的 但前几天电脑出问题重装系统后打开笔记文件发现照片都打不开了 xff0c 索性想换一种记笔记方式 好啦 以下是正文 xff01 xff01 xff01 对了
  • 学习记录 | ZigBee协议栈实践——串口收发数据

    上次的理论知识学的有点杂乱 今天来跟着例程实践看一看 目录 一 ZigBee协议栈的安装 编译和下载 二 协议栈工作流程 三 串口通信主要代码 1 串口打印 2 串口打印收到的数据 四 实现 五 总结 一 ZigBee协议栈的安装 编译和下
  • 第一次画异形板后的总结感悟

    目录 画原理图前的准备 画PCB的一些好方法 蜂鸣器电路 供电电路 其他电路 杂七杂八的随记要点 总结 像这样的异形板是通过solidworks扫描实物生成的 画原理图前的准备 当然是选购元器件 一般习惯在嘉立创进行选购 选择符合要求 有库
  • 自学物联网ESP第一天

    先简单的使用串口通信AT指令 刚开始不知道用什么开发好 在博客找了很久本来打算用 eclipse 不过突然发现可以用Arduino 不过下载真的好慢 于是开始看一下函数准备一下 一 基本函数 1 setup 函数 Arduino控制器通电或
  • stm32串口发送+接收

    本文章转自B站江科大自化协 一发送 接线图 目标结构 Serial c include 34 stm32f10x h 34 include lt stdio h gt 1移植printf函数 封装sprintf include lt std
  • vscode配置C/C++环境(超详细保姆级教学)

    大一上学期被学长安利了vscode xff0c 但是下载安装后不会配置 xff0c 自己连查带问搞了七八个小时终于配置好了 后面身边很多同学也不会配 xff0c 都来找我帮忙配 xff0c 加上之前自己摸索着配的时候感觉网上没有详细又靠谱的
  • 路由器接口解析

    ensp 接口解析 路由器的CON和AUX con是串口 xff0c 接口电脑串口可以进路由器的命令行查看和设置 一般为设备的控制端口 xff0c Console端口使用配置专用连线直接连接至计算机的串口 xff0c 利用终端仿真程序进行路
  • 解决VSCode写html文件时<!+Enter导入模板快捷键没办法使用的问题

    好久没有写前端了 xff0c 先是用模板快捷键 lt 43 Enter导入模板 xff0c 发现没有办法使用 找到网上一些资料 xff0c VSCode使用 html 5 取代了之前的生成模板快捷键 示例 xff1a 在空白html文本里逐
  • LVGL 之 windows 上 lvgl 模拟器 基于 Visual Studio 搭建方法的简单整理

    mark GUI Guider与lvgl联合仿真 xff08 结合stm32实验进行演示 xff0c 含触摸屏实验计数器与计算器 xff09 https blog csdn net gudao07 article details 12752